堆排序怎么排

堆排序怎么排

堆排序排法如下:
1、当一个节点被插入时,将该节点放在堆的末尾(这是为了保证堆是完全二叉树);
2、然后将该节点与它的父节点比较,看该节点是否大于(或小于)其父节点 , 即判断当前的堆是否满足堆序;

【堆排序怎么排】3、如果不满足 , 则将该节点与其父节点交换 。再将该节点与其新的父节点做比较,依此类推 , 直到该节点不再需要与其父节点交换为止;
4、(即满足堆序时停止)当一个根节点被弹出(即被从堆中删除)时,将堆最尾部的节点移动到头结点的位置 , 然后将该节点不断与其子节点比较,如果不符合堆序则交换,直到符合堆序为止 。

经验总结扩展阅读