看完算法导论按照自己的思路写的
void exchange(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
void qsort(int arr[], int p, int q)
{
if (p >= q) return;
int i = p-1, j = p, A = arr[q];
while (j < q)
{
if (arr[j] <= A)
{
++i;
++j;
exchange(arr[i], arr[j - 1]);
}
else
++j;
}
exchange(arr[i + 1], arr[q]);
int r = i + 1;
qsort(arr, p, r - 1);
qsort(arr, r + 1, q);
}