大整數排序-牛客
阿新 • • 發佈:2021-01-31
對N個長度最長可達到1000的數進行排序。
輸入描述:
輸入第一行為一個整數N,(1<=N<=100)。
接下來的N行每行有一個數,數的長度範圍為1<=len<=1000。
每個數都是一個正數,並且保證不包含字首零。
輸出描述:
可能有多組測試資料,對於每組資料,將給出的N個數從小到大進行排序,輸出排序後的結果,每個數佔一行。
連結:https://www.nowcoder.com/questionTerminal/b744af632ac4499aa485d7bb048bb0aa
來源:牛客網
先比較長度,長度相等比較大小
貼上答案:
import java. util.Scanner;
public class bigNumSort {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
String[] strings=new String[n];
for(int i=0;i<n;i++){
strings[i]=sc. next();
}
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if(strings[i].length()>strings[j].length()){
String t=strings[i];
strings[i]=strings[j];
strings[j]=t;
}else if(strings[i].length()==strings[j].length()){
if(strings[i].compareTo(strings[j])>0){
String t=strings[i];
strings[i]=strings[j];
strings[j]=t;
}
}
}
}
for(int i=0;i<n;i++){
System.out.println(strings[i]);
}
}
}
}