Heapsort
Also known as: Heap sort
Heapsort builds a max-heap on the array, then repeatedly swaps the root (current maximum) with the last unsorted position and sifts down. It is selection sort with logarithmic selection.
Time $\Theta(n \log n)$ worst case, $O(1)$ extra memory beyond the array. Not stable. Cache behavior is usually worse than quicksort, so libraries often use heapify only as a worst-case fallback (introsort).
Good exam answer when asked for an in-place comparison sort with guaranteed $O(n \log n)$.