堆排序图示

因为是原地进行升序排列,所以应该是建立大根堆;如果是原地进行降序排列,应该建立小根堆。

(7-6-3-5-4-1-2)按照堆排序的方式原地进行升序排列:

先建立大根堆,因为给定的数组就是大根堆,所以就不需要建立大根堆了。

接下来:堆建好之后开始排序,堆顶就是最大值,取出放入数组中的最后一个位置,将堆底(数组中的最后一个元素)放入堆顶。因为这一操作会破坏堆,需要将前n-1个元素调整为堆。(依次一层一层的从下往上)

猜你喜欢

转载自blog.csdn.net/weixin_30363263/article/details/81261299
今日推荐