字符数组如何排成一大一小各自有序的形式
思路:在一般的排序方法之上,只是在比较的时候采用一点大小写统一比较的方法
/**
* @author ZTX
* 字符数组排序
* 结果为:一大一小,顺序排列
* 2013年11月18日19:33:13--2013年11月18日19:51:35
* 思路:在一般的排序方法之上,只是在比较的时候采用一点大小写统一比较的方法
*/
public class RankChar {
public static void main(String args[]){
char chars[]={'a','b','D','c','B','a','b','D','c','B','v','b','b','b','b'};
System.out.println("排序前:");
for(char a:chars){
System.out.print(a);
}
for(int i=0;i<chars.length-1;i++){
int k=i;
for(int j=i+1;j<chars.length;j++){
if(compare(chars[j],chars[k])){
char temp=chars[k];
chars[k]=chars[j];
chars[j]=temp;
}
}
}
System.out.println("排序后:");
for(char a:chars){
System.out.print(a);
}
}
private static boolean compare(char c, char d) {
// TODO Auto-generated method stub
//都是大写,都是小写,一大一小
if(c>='a'&&c<='z'&&d>='a'&&d<='z'){
if(c<d)return true;
else return false;
}
if(c>='A'&&c<='Z'&&d>='A'&&d<='Z'){
if(c<d)return true;
else return false;
}
if(c>='a'&&c<='z'&&d>='A'&&d<='Z'){//c是小写
if(c<=d+32)return true;
else return false;
}
if(c>='A'&&c<='Z'&&d>='a'&&d<='z'){//c是小写
if(c+32<d)return true;
else return false;
}
return false;
}
}
浙公网安备 33010602011771号