堆積排序法 | 會動的演算法

符號表示

資料
整數序列A

輸入
輸入整數序列。
建立堆積
對子樹進行 Down Heap。downHeap(A, i)
互換與 Down Heap
由根節點開始進行 Down Heap。downHeap(A, 0)
將根節點與堆積尾端的值互換。swap(A[0], A[heapSize-1])
縮小滿足堆積性質,但尚未排序的範圍。區間[0, heapSize)
輸出
輸出排序完成的整數序列。

演算法動畫

輸入
ヒープソート | 入力

建立堆積
ヒープソート | ヒープ構築

互換與 Down Heap
ヒープソート | スワップとダウンヒープ

輸出
ヒープソート | 出力