今天的题目总结一下:
不可改变原顺序,考虑单调队列,可改变原顺序,考虑优先队列
优先队列具体说明:
C++ 优先队列 priority_queue 使用篇
建堆说明:
大家对这个比较运算在建堆时是如何应用的,为什么左大于右就会建立小顶堆,反而建立大顶堆比较困惑。
确实 例如我们在写快排的cmp函数的时候,return left>right 就是从大到小,return left<right 就是从小到大。
优先级队列的定义正好反过来了,可能和优先级队列的源码实现有关(我没有仔细研究),我估计是底层实现上优先队列队首指向后面,队尾指向最前面的缘故!