#include int partition(int v[], int p, int r) { int i, j, tmp; for (i = j = p; j < r; ++j) { if ( v[j] < v[r] ) { tmp = v[i]; v[i] = v[j]; v[j] = tmp; i++; } } tmp = v[i]; v[i] = v[r]; v[r] = tmp; return i; } void quicksort(int v[], int p, int r) { int q; if (p < r) { q = partition(v, p, r); quicksort(v, p, q-1); quicksort(v, q+1, r); } } int main() { int i; int v[6] = {3, 4, 1, 2, 6, 5}; for (i = 0; i < 6; ++i) printf("%d ", v[i]); printf("\n"); quicksort(v, 0, 5); for (i = 0; i < 6; ++i) printf("%d ", v[i]); printf("\n"); return 0; }