排序算法 快速排序

快速排序的核心实现是,取一个基准数,使得数的左边小于它,数的右边大于它。 然后再对两边进行相同的递归操作。

public static void quickSort(int[] s,int start,int end) {
        if(start < end) {
            int i = start,j = end,x = s[start];
            while(i < j) {
                while(i<j && s[j] >= x)
                    j--;
                if(i < j)
                    s[i++] = s[j];
                while(i<j && s[i]<=x)
                    i++;
                if(i < j)
                    s[j--] = s[i];
            }
            s[i] = x;
            quickSort(s, start, i-1);
            quickSort(s, i+1, end);
        }
        
}

 

posted @ 2018-09-20 13:35  天地鸥  阅读(81)  评论(0编辑  收藏  举报