1.4. Kārtošana ar kaudzi (Heap Sort)
Ja rindu ar prioritāti realizējam ar kaudzes palīdzību, tad nav nepieciešama papildus atmiņa, t.i. kaudzi var realizēt tajā pašā tabulā, kurā atrodas kārtojamie elementi. Indekss i tabulā nosaka robežu starp sakārtoto un nesakārtoto tabulas daļu. Kaudze ir realizēta nesakārtotajā daļā: intervālā A[i..n-1]. Kaudzes sakne (mazākais elements) atrodas labajā pusē pozīcijā A[n-1]. Līdz ar to kaudze dilst no kreisās puses, bet sakārtotā daļa, aizņemot kaudzes atbrīvoto vietu, pieaug no labās puses. Indekss i pavirzās pa labi un nosaka jauno robežu.
Algoritma ideja: samainām kaudzes sakni ar pašu kreisāko elementu nesakārtotajā daļā un veicam kaudzes "atjaunošanas darbus" ar procedūras Heapify palīdzību. Darbojoties ar kaudzi algoritmā Heapify ir jāatceras, ka atšķirībā no kaudzes standartrealizācijas tabulā (no kreisās uz labo), šoreiz kaudze ir apgriezta otrādi (no labās uz kreiso).
…