字符数组如何排成一大一小各自有序的形式

思路:在一般的排序方法之上,只是在比较的时候采用一点大小写统一比较的方法

/**
 * @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;
	}
}


 

原文地址:https://www.cnblogs.com/fuhaots2009/p/3430719.html