优先队列实现最小堆
最小堆可是在遍历后,保存最大的k个值 最大堆可是在遍历后,保存最小的k个值 优先队列 默认为最大堆,即输出为最大值 优先队列实现最小堆 #include <iostream> #include <algorithm> #include <vector> using namespace std ; //为自定义类 做比较函数 struct cmp { bool operator ()( node a , node b ){ return a . key > b . key ; } }; int main (){ priority_queue < node , vector <node> , cmp > q ; //非自定义类 直接用greater<> priority_queue < int , vector <int> , greater <int> > q ; return 0 ; } 来源:51CTO 作者: mwb1995 链接:https://blog.csdn.net/mwb1995/article/details/89059778