题解 | #对数组进行排序#

输入整型数组和排序标识,对其元素按照升序或降序进行排序

https://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309

利用 Arrays.sort()

根据flag,决定Comparator的compare函数写法

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextInt()){
            int num=sc.nextInt();
            Integer[] arr=new Integer[num];
            for (int i = 0; i <num; i++) {
                arr[i]=sc.nextInt();
            }
            int flag=sc.nextInt();

            Arrays.sort(arr,new Comparator<Integer> (){ //注意arr不能是int,需要时 integer类型
                @Override
                public int compare(Integer o1, Integer o2) {
                    if(flag==0){
                        return o1-o2; //升序
                    }else if(flag==1){
                        return o2-o1;
                    }
                    return 0;
                }
            });

            for (int i = 0; i < arr.length; i++) {
                System.out.print(arr[i]+" ");
            }

        }

    }
}
全部评论

相关推荐

11-08 10:39
门头沟学院 C++
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务