Lekcja: "Algorytmy sortujące - drzewa binarne, sortowanie przez kopcowanie"
Schemat blokowy
Celem pętli nr 1 jest zamiana miejscami kolejnych ostatnich kiści z korzeniem drzewa, natomiast pętli 2 - przywrócenie strukturze warunku kopca.
Pętla nr 1 przegląda elementy zbioru od końca od n do 2. Element i-ty zostaje wymieniony z korzeniem kopca. Po tej zamianie rozpoczynamy w pętli2 przeglądanie drzewa od korzenia w dół. Zmienna j przechowuje indeksy przodka, zmienna k przechowuje indeks lewego potomka. Koniec pętli nr 2 następuje gdy węzeł j-ty nie ma już potomka. Zmienna m wyznacza nam indeks większego potomka z dwóch węzłów dzieci. Następnie sprawdzamy czy zachowany jest warunek kopca, jeśli tak to kończymy pętlę, jeśli nie to zmieniamy miejscami węzeł nadrzędny j-ty z jego największym potomkiem m-tym i jako nowy węzeł nadrzędny przyjmujemy węzeł m-ty. W zmiennejk wyznaczamy indeks lewego potomka i kontynuujemy pętlę 2. Każde wyjście z pętli2 zmniejsza zmienną io 1, ponownie przenosimy się do ostatniego liścia i kontynuujemy pętlę 1.