Loading…
Loading…
Divide and conquer: pick a pivot, partition values around it, then recursively sort each side.
Start quicksort.
1void quickSort(int[] a, int lo, int hi) {2 if (lo >= hi) return;3 int pivot = a[hi], i = lo;4 for (int j = lo; j < hi; j++)5 if (a[j] < pivot) swap(a, i++, j);6 swap(a, i, hi);7 quickSort(a, lo, i - 1);8 quickSort(a, i + 1, hi);9}