Quicksort
Applies to: general
Quicksort partitions the array around a pivot so smaller elements go left and larger go right, then recurses on each side. It averages O(n log n) and sorts in place, but a bad pivot can degrade it to O(n^2).
pick pivot -> partition -> quicksort(left), quicksort(right)
See also: merge-sort, recursion