Linear-time Partitioning
We'll cover the following...
The real work of quicksort happens during the divide step, which partitions subarray
Having chosen a pivot, we partition the subarray by going through it, left to right, comparing each element with the pivot. We maintain two indices q
and j
into the subarray that divide it up into four groups. We use the variable name q
because that index will eventually point at our pivot. We use j
because it's a common counter variable name, and the variable will be discarded once we're done.
The elements in
are "group L," consisting of elements known to be less than or equal to the pivot. The elements in
...