算法-快排

package suanfa;

public class kuaipai {
    public static void main(String[] args) {
        int a[] = { 0, 1, 8, 6, 5, 3, 2 };
        int low = 0;
        int high = a.length - 1;
        sort(a, low, high);
        for (int i = 1; i < a.length; i++)
            System.out.print(a[i] + "   ");
    }

    public static int paixu(int a[], int low, int high) {
        a[0] = a[low];
        while (low < high) {
            while (low < high && a[high] >= a[0])
                --high;
            a[low] = a[high];
            while (low < high && a[low] < a[0])
                ++low;
            a[high] = a[low];

        }
        a[low] = a[0];
        return low;
    }

    public static void sort(int a[], int low, int high) {
        if (low < high) {
            int pos = paixu(a, low, high);
            sort(a, low, pos);
            sort(a, pos + 1, high);

        }

    }

}
posted @ 2016-07-02 10:11  多巴胺二次元式  阅读(127)  评论(0编辑  收藏  举报