Výber maxima z binárnej haldy

Vo všeobecnosti môžeme pri výbere z haldy odstrániť ľubovoľný list. Konkrétne pri výbere z binárnej haldy však máme úplne jasnú voľbu: vždy odstránime najpravejší list na najspodnejšej úrovni, teda ten, ktorý je v našom poli uložený na pozícii $n−1$. Odstránením tohto listu totiž opäť vznikne takmer úplný binárny strom.

Pri našej implementácii sa teda stane nasledovné:

  1. Prvok z koreňa (index $0$) presunieme do pomocnej premennej.
  2. Prvok z indexu $n−1$ presunieme na index $0$.
  3. Pole o jednu pozíciu zmenšíme. (Presnejšie, nespravíme nič, len sa budeme odteraz tváriť, že je naše pole o jedno kratšie.)
  4. Prvok z indexu 0 postupne prebubleme dodola na nejakú pozíciu, na ktorú patrí.