排序算法——快速排序

排序算法——快速排序,第1张

排序算法——快速排序

1、快速排序理念
基准线,基准线将数组分为两部分,左边小于基准线的值,右边大于基准线的值,递归排序。
2、java代码

    
    public static void quickSort(int[] list,int left,int right){
        if(left < right){
//            1、找基准线
            int point = partition(list,left,right);
//            2、递归排序左字数组
            quickSort(list,left,point-1);
//            3、递归排序右字数组
            quickSort(list,point+1,right);
        }
    }

    
   public  static int partition(int[] list,int left,int right){
        int first = list[left];
        while (left < right){
            while (left < right && first <= list[right]){
                right--;
            }
            swap(list,left,right);
            while (left < right && first >= list[left]){
                left++;
            }
            swap(list,left,right);
        }
        return left;
   }

    
   public static void swap(int[] list,int left,int right){
       int temp = list[left];
       list[left] = list[right];
       list[right] = temp;
   }

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5677230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存