首页 > 编程语言 > 详细

Java快排

时间:2021-05-08 00:35:45      阅读:22      评论:0      收藏:0      [点我收藏+]
public static void QSort(int[] array, int left, int right) {
            //left数组的最小下标,right数组最大下标
            if (left > right) {                    //判断本次是否执行
                return;
            }
            int low = left;
            int high = right;
            int key=array[low];                    //将数组第一个数定为基准
            while(low<high){
                while(low<high && array[high]>key) //从后往前,直到找到小于基准的数
                    high--;
                array[low]=array[high];            //小数移动到前面
                while(low<high && array[low]<key)  //从前往后,直到找到大于基准的数
                    low++;
                array[high]=array[low];            //大数移动到后面
            }
            array[low]=key;                        //此时low在中间,将基准放入
            QSort(array,left,low-1);      //小数组递归
            QSort(array,low+1,right);      //大数组递归
        }

 

Java快排

原文:https://www.cnblogs.com/aaaadioppa/p/14742049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!