根据标识排序整型数组
输入整型数组和排序标识,对其元素按照升序或降序进行排序
http://www.nowcoder.com/questionTerminal/dd0c6b26c9e541f5b935047ff4156309
要注意的是,Array.sort()是可以排序int[]类型的,但只能是默认升序;如果是想自定义Comparator降序,需要是包装类Integer[]才可以,所以在这里初始化直接使用Integer[]类型。
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) { int count = in.nextInt(); Integer[] array = new Integer[count]; for(int i = 0; i < count; i++){ array[i] = in.nextInt(); } int label = in.nextInt(); if(label == 0){ Arrays.sort(array); } else{ Arrays.sort(array,(o1,o2) -> o1>o2? -1 : 1); } StringBuilder sb = new StringBuilder(); //这里如果是特殊情况,比如0个数字会报错,但我赌它不会这么无聊,然后赌对了。 sb.append(array[0]); for(int j = 1; j < count; j++){ sb.append(" "); sb.append(array[j]); } System.out.println(sb); } } }