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