堆排序思路
每次都取最大堆堆顶的元素,将其放在序列最后面,然后将剩余的元素重新调整为最大堆,依次类推,最终得到排序的序列。
1.把数组依次放入一个完全二叉树中。
2.从最后一个非叶子节点(第4层最后一个点)开始,调整成最大堆。下方是8个最大堆。
3.继续往上以3层为父节点,调整成最大堆。这时的调整会打乱原有的8个最大堆结构,需要对打乱的部分进行重新调整。
4.以此类推,向上调整。直到整个树变为最大堆。根节点为最大的数,将其与最大堆的最后一个数交换后去除放入数组的最后一位。
5.继续进行调整,交换,如此反复进行,最终使得整个序列有序。