快速排序

后续更新双端快排,以及Arrays.sort()中的三路快排。

    public void quickSort(int[] num,int start,int end){
        if (start>=end){
            return;
        }
        int i = start;
        int j = end;
        while(i<j){
            while(i<j && num[j]>=num[start]) j--;
            while(i<j && num[i]<=num[start]) i++;
            if (i<j){
                int temp = num[i];
                num[i] = num[j];
                num[j] = temp;
            }
        }
        int temp = num[start];
        num[start] = num[i];
        num[i] = temp;
        quickSort(num,start,i-1);
        quickSort(num,i+1,end);
    }
posted @ 2020-07-02 18:58  大猪蹄子饲养员  阅读(121)  评论(0编辑  收藏  举报