Quicksort

Average O(n log n), worst O(n^2) with partitioning.