堆排序 一.堆排序的原理二.堆排序的实现三.排序结果四.总结 一.堆排序的原理 最大堆或者最小堆每次的堆顶都是最大值或者最小值,在堆顶的删除和出列中,我们其实就相当于实现了堆的排序. 那么我们能不能直接在原有数组上,将数组的元素变成升序或者降序呢? 当然是可以的我们用图解来看: 其实和堆的删除差不多,只不过我们不是直接将堆顶删除,而是将堆顶的值保存在堆末尾. 二.堆排序的实现 直接在原数组中进行排序. 对换堆顶与堆末的值,然后调整成最大堆,将堆长度减1,直到size=0 三.排序结果 运行结果; 四.总结 堆的排序,我们都要想办法将堆顶进行操作!