[排序算法,选择排序]--快速排序

public class Quick {

    public static void quickIndex(int[] array, int l, int r) {
        if(l<r) {
            int i = l;
            int j = r;
            int temp = array[i];
            while (i < j) {
                while (i < j && array[j] >= temp) {
                    j--;
                }
                if (i < j) {
                    array[i] = array[j];
                    i++;
                }
                while (i < j && array[i] <= temp) {
                    i++;
                }
                if (i < j) {
                    array[j] = array[i];
                    j--;
                }
            }
            array[i] = temp;
            quickIndex(array, l, i - 1);
            quickIndex(array, i + 1, r);
        }
    }


    public static void main(String[] args){
        int[] a={1,2,4,3,9,0,7,6,-9,-6};
        quickIndex(a,0,a.length-1);
        System.out.println(Arrays.toString(a));
    }
}
 
 
时间复杂度O(nlogn) 空间复杂度O(1)

猜你喜欢

转载自blog.csdn.net/tianhongyan1122/article/details/54347328