最小堆可是在遍历后,保存最大的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