Divide-and-Conquer

? Divide Partition A[p..r] into two non-empty subsequences A[p..q] and A[q+1..r] such that each element of A[p..q] is each element of A[q+1..r].

? Conquer Sort A[p..q] and A[q+1..r] by recursive calls to Quicksort.

? Combine Trivial, arrays are sorted in place.