Quicksort
And so on in a recursive manner until all the sublists are empty, at which point the (total) list is sorted
Partitioning can be effected simultaneously, scanning left to right and right to left, interchanging elements in the wrong parts of the list
The partitioning element is then placed between the resultant sublists (which are then partitioned in the same manner)