Heap sort buduje binarny stos z tablicy, a następnie wielokrotnie wyodrębnia maksimum, aby uzyskać posortowaną kolejność. Działa w O(n log n) i jest na miejscu.
Pomysł
Max-stos przechowuje największy element w korzeniu. Zbuduj stos (O(n)), a następnie zamień korzeń na koniec, zmniejsz stos i ponownie uheapify (sift down) — n razy.
