A maximális elem kivevésének lépései:
- A kupac tetején lévő értéket eltávolítjuk (kiírjuk egy változóba).
- A helyén keletkezik egy "lyuk".
- A prioritásos sor mérete eggyel csökkenni fog, így kézenfekvő, hogy azt
az elemet, aki utolsó a kupachoz tartozó elemek közül, feltesszük a kupac
tetejére. Ezzel persze általában sérülni fog a kupac tulajdonság, így ezt az
elemet bele kell süllyeszteni a kupacba.
- A süllyesztés a következő módon történik: ha a csúcsnak két gyereke van,
akkor vesszük a nagyobbikat, ha csak egy, akkor azt az egy gyereket, és
összehasonlítjuk a süllyeszetendő elemmel. Ha a gyerek nagyobb, mint a
süllyesztendő elem, akkor helyet cserélnek, és folytatódik tovább a
süllyesztés. Ha a gyerek kisebb, mint a szülője, akkor már helyes a kupac,
leáll a süllyesztés.
- Hatékonyabb lesz a süllyesztő algoritmus, ha nem cserékkel süllyesztünk,
hanem a kupac tetején keletkezett "lyukat" süllyesztjük, odaképzelve a
süllyesztendő elemet, amíg leér a lyuk a levelek szintjére, vagy olyan
ponthoz ér, amelynek gyerekei kisebbegyenlők, mint az épp helyét kereső
elem. Ezt mutatják be az ábrák.

Az eltávolított elem helyén keletkezett "lyuk befoltozása":

A helyreállított kupac:
