蓝桥杯打卡:排序
问题
用户输入3个整数,程序输出三个整数从大到小的排列。
思路,直接使用 Arrays.sort();
函数,通过构建一个比较器传入函数
- 注意:比较的内容不能是基本类型,只能是引用类型
- 可以自己写 快速排序 或 归并排序
代码
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String[] s = in.nextLine().trim().split(" ");
Integer[] arr = new Integer[s.length];
for(int i=0; i<s.length; i++) {
arr[i] = Integer.parseInt(s[i]);
}
Arrays.sort(arr,new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
return o2-o1;
}
});
// 比较完成了
// 输出格式
String ans = "";
for(int i=0; i<arr.length; i++) {
if(i==arr.length-1) {
ans += arr[i];
break;
}
ans += arr[i] + " ";
}
System.out.println(ans);
}
}