一.原理:这里面运用了二叉树的知识----自己应该知道吧。就是建立一个堆,每个节点只链接两个子节点,通过不断对每一个节点(堆)排序,直到列表排序成为一个初级有序的堆,后对这个堆经行处理完成整个列表的有序
二.代码实现:---------(升序)
(1).堆的建立:分为大小堆,这里是升序,所以采用大堆----------(每个节点比两个子节点都大为大堆,反之。。。。)
(2).调整排序:从上到下,通过堆顶节点比较子节点,大向上,直到堆成为大堆,看代码。
(3).堆整理为列表:通过不断将堆顶大元素换到列表末尾,完成列表排序。看代码