快排

#define SIZE 20

int partition(int l, int r, int data[SIZE])
{
    int v = data[r];
    int i = l - 1;
    int j = r;

    while(1){
        while(data[++i] < v);
        while(v < data[--j]) if(j == i) break;
        if(j <= i) break;
        int t = data[i]; data[i] = data[j]; data[j] = t;
    }
    int t = data[i]; data[i] = data[r]; data[r] = t;

    return i;
}

void quickSort(int l, int r, int data[SIZE])
{
    if (r <= l) {
        return;
    }

    int p = partition(0, r, data);
    quickSort(l, p - 1, data);
    quickSort(p + 1, r, data);
}
大多数想法要么平庸,要么更糟糕,这很大程度上因为绝妙的想法难得一见,而且他们还要在我们身边这个充斥了各种恶俗的所谓常识的环境中孕育生长。
原文地址:https://www.cnblogs.com/linux0537/p/6066673.html