将数组中的字符串按AaBbCc......的顺序排序,排序时先比较第一个字符,第一个字符相等然后比较下一个字符,如a[]={"abc","abcd","Acd","aaf","cbd","bcd"},
排序后为 Acd,aaf,abc,abcd,bcd,cbd
程序代码:
public String[] stringSort(String[] str) { int len=str.length; for(int i=0;i<len;i++) { for(int j=len-1;j>i;j-- ) { if(j-1>=0) { char[] ch2=str[j].toCharArray(); // System.out.println(ch1[2]); char[] ch1=str[j-1].toCharArray(); int n=0; while(n<ch1.length&&n<ch2.length) { if( ch1[n]<='Z' && ch2[n]>='a') { if(ch1[n]+32!=ch2[n]) { ch1[n]+=32; } } if( ch1[n]>='a' && ch2[n]<='Z') { if(ch1[n]!=ch2[n]+32) { ch2[n]+=32; } } if(ch1[n]>ch2[n]) { str=this.Swap(str, j,j-1); break; } else if(ch1[n]==ch2[n]) { n++; } else { break; } } if(n==ch1.length||n==ch2.length) { if(ch1.length>ch2.length) { str=this.Swap(str, j,j-1); } } } } } return str; } public String[] Swap(String[] str,int i,int j) { String s=str[i]; str[i]=str[j]; str[j]=s; return str; }