通常,您将使用max-heap进行升序排序,使用min-heap进行降序排序.
这与通常描述堆排序算法的方式有关:
您可以在下图中看到该算法的工作原理:(由Gms创建)
正如你在每一步中看到的那样,我们在数组的末尾放置了最大值(第一个是最大的数字,然后是第二个最大的数字,......),它们最终被排序.
但显然你也可以使用max-heap来生成降序排序.只需将找到的最大值放入一个新数组即可.(或者只是在最后反转排序的数组.)
| 归档时间: |
|
| 查看次数: |
7837 次 |
| 最近记录: |