快速排序

    public static void quickSort(int[] array,int start,int end){
        int i = start;
        int j = end;
        int index = i+(int)((j-i)*Math.random());

        int tem = array[i];
        array[i] = array[index];
        array[index] = tem;

        int key = array[i];
        while(i < j ){
            while(i < j && key <= array[j]){
                j--;
            }
            if(i < j){
                int temp = array[j];
                array[j] = array[i];
                array[i] = temp;
            }

            while(i < j && key >= array[i]){
                i++;
            }
            if(i < j){
                int temp = array[j];
                array[j] = array[i];
                array[i] = temp;
            }

        }

        if(start < i){
            quickSort(array,start,i-1);
        }
        if(j < end){
            quickSort(array,j+1,end);
        }

    }

 

posted @ 2019-08-23 01:03  洁瑞小弟  阅读(81)  评论(0编辑  收藏  举报