快速排序

 快速排序,俗称快排。

   详解摘自  坐在马桶上看算法:快速排序

   讲的容易理解,需要多加练习,ide中多看看是怎么走的。

    

        本汪也练习了一番。

      

public class QuickSort {



    public static void quick(int array[]) {
        quick(array,0,array.length-1);
    }
    private static void quick(int[] array,int left,int right) {
        if(left >= right) {
            return ;
        }
        int temp = array[left];
        int i = left;
        int j = right;
        while(i < j) {
            while(i < j && array[j] >= temp) {
                j--;
            }
            if(i < j) {
                array[i++] = array[j];
            }
            while(i < j && array[i] < temp) {
                i++;
            }
            if(i < j) {
                array[j--] = array[i];
            }
        }
        //此时  i==j
        array[i] = temp;
        quick(array,left,i-1);
        quick(array,j+1,right);
    }

}

 

 

  

posted @ 2018-04-10 16:56  ♩一叶之秋♪  阅读(111)  评论(0编辑  收藏  举报