堆排序怎么排

堆排序怎么排

堆排序排法如下:
1、當一個節點被插入時,將該節點放在堆的末尾(這是為了保證堆是完全二叉樹);
2、然后將該節點與它的父節點比較,看該節點是否大于(或小于)其父節點 , 即判斷當前的堆是否滿足堆序;

【堆排序怎么排】3、如果不滿足 , 則將該節點與其父節點交換 。再將該節點與其新的父節點做比較,依此類推 , 直到該節點不再需要與其父節點交換為止;
4、(即滿足堆序時停止)當一個根節點被彈出(即被從堆中刪除)時,將堆最尾部的節點移動到頭結點的位置 , 然后將該節點不斷與其子節點比較,如果不符合堆序則交換,直到符合堆序為止 。

經驗總結擴展閱讀