- 考虑用冒泡排序来做
- 用每个数据(字符串)的ASCII码来比较
- 这时候会发现:
- 9 71 7
- 冒泡排序:9717
- 正确答案应该:9771
- 考虑用前后两个数相互相反合并再作比较:771 717
- 用冒泡排序从大到小排序
- 代码:
public class Main{
public static void main(String arg[]){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
String[] a=new String[n];
for(int i=0;i<n;i++){
a[i]=sc.next();
}
for(int i=0;i<n;i++){
for(int j=n-1;j>i;j--){
if((a[j]+a[j-1]).compareTo(a[j-1]+a[j])>0){
String str=a[j-1];
a[j-1]=a[j];
a[j]=str;
}
}
}
for(int i=0;i<n;i++){
System.out.print(a[i]);
}
}
}