• [ 原创 ] 快排序


    private static void quickSort(int[] arr, int low, int high) {
    
        if (low < high) {
            // 找寻基准数据的正确索引
            int index = getpivot(arr, low, high);
    
            // 进行迭代对index之前和之后的数组进行相同的操作使整个数组变成有序
            //quickSort(arr, 0, index - 1); 之前的版本,这种姿势有很大的性能问题,谢谢大家的建议
            quickSort(arr, low, index - 1);
            quickSort(arr, index + 1, high);
        }
    
    }
    
    
    /*快速排序 运用递归*/
    private static int getpivot(int[] nums,int low,int high){
        int pivot=nums[low];
        while (low<high){
            while(low<high&&nums[high]>=pivot){
                --high;
            }
            nums[low]=nums[high];
            while(low<high&&nums[low]<=pivot){
                ++low;
            }
            nums[high]=nums[low];
        }
        nums[low]=pivot;
        return low;
    }
    
            quickSort(nums,0,nums.length-1);
    //      冒泡排序后的数组为:
            for (int i : nums) {
                System.out.println(i);
            }
    生活不容易 所以必须得牛逼
  • 相关阅读:
    CCCC 2020 酱油记
    CCPC 2020 威海 滚粗记
    IEEExtreme 2020 酱油记
    CCSP 2020 酱油记
    ICPC 陕西省赛 2020 游记
    CCPC 网络赛 2020 自闭记
    CSP 第20次认证 酱油记
    CSP-S 2019 酱油记
    NOI2019 退役记
    树链剖分入门
  • 原文地址:https://www.cnblogs.com/ILoke-Yang/p/14470781.html
Copyright © 2020-2023  润新知