/* Adapted from http://24bytes.com/Quick-Sort.html */ int partition(int a[], int p, int r) { int x, j; int i; x = a [r]; j = p - 1; for (i = p; i < r; i++) { if (x <= a[i]) { int temp; j = j + 1; temp = a[j]; a[j] = a[i]; a[i] = temp; } } a[r] = a[j + 1]; a[j + 1] = x; return (j + 1); } void quickSort(int a[], int p, int r) { int q; if (p < r) { q = partition(a, p, r); quickSort(a, p, q - 1); quickSort(a, q + 1, r); } }