/**
优先队列:
插入一个数值+获得一个最值(获得+删除)
实现原理:堆结构
stl:
priority_queue
push():插入数值
pop():删除最值
top();获取最值
重点: priority_queue<int> a; ------取出的是最大值
priority_queue<int,vector<int>, greater<int> > a; ------取出最小值
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
priority_queue<int> a;
priority_queue<int ,vector<int>,greater<int> > b;
for(int i =1;i<5;i++){
a.push(i);
b.push(i);
}
cout<<"a:";
for(int i = 1;i<5;i++){cout<<a.top()<<" ";a.pop();}
cout<<endl;
cout<<"b:";
for(int i = 1;i<5;i++){cout<<b.top()<<" ";b.pop();}
return 0;
}
【菜鸟er】STL专题_优先队列
最新推荐文章于 2019-05-03 19:35:11 发布