代码之美 最短的快排
代码
void quicksort(int u, int v)
{
int i, m;
if (u >= v) return;
swap(u, randint(u, v));
m = u;
for (i = u + 1; i <= v; ++i)
if (x[i] < x[u])
swap(++m, i);
swap(u, m);
quicksort(u, m - 1);
quicksort(m + 1, v);
}
{
int i, m;
if (u >= v) return;
swap(u, randint(u, v));
m = u;
for (i = u + 1; i <= v; ++i)
if (x[i] < x[u])
swap(++m, i);
swap(u, m);
quicksort(u, m - 1);
quicksort(m + 1, v);
}