题解 | #对其元素按照升序或降序进行排序#

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

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n= in.nextInt();
        int[] nums=new int[n];
        for(int i=0;i<n;i++){
            nums[i]= in.nextInt();
        }
        int order=in.nextInt();
        //System.out.println(Arrays.toString(nums));
        // 进行排序
        if(order==1){
            quickSort(nums,0,n-1,true);
        }else{
            quickSort(nums,0,n-1,false);
        }
        for(int i=0;i<n;i++){
            System.out.print(nums[i]);
            if(i!=n-1)
            System.out.print(" ");
        }
        
    }

    public static void quickSort(int[] nums,int low,int high,boolean order){
        if(low>=high){
            return;
        }
        int i=low,j=high;
        int baseNum=nums[low];
        while(i<j){
            if(order){
                while(i<j&&baseNum>=nums[j]){
                    j--;
                }
                while(i<j&&baseNum<=nums[i]){
                    i++;
                }
                
            }else{
                while(i<j&&baseNum<=nums[j]){
                    j--;
                }
                while(i<j&&baseNum>=nums[i]){
                    i++;
                }
            }
            if(i<j){
                int temp=nums[i];
                nums[i]=nums[j];
                nums[j]=temp;
            }
        }
        nums[low]=nums[j];
        nums[j]=baseNum;

        quickSort(nums,low,j-1,order);
        quickSort(nums,j+1,high,order);
    }
}

将数加载到数组中,使用快速排序

全部评论
给大佬点赞,学起来
点赞 回复 分享
发布于 2023-05-27 20:09 上海
大佬在哪学的这个,有推荐的课程吗
点赞 回复 分享
发布于 2023-05-27 19:51 河北

相关推荐

2025-12-31 14:19
门头沟学院 产品经理
点赞 评论 收藏
分享
白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务