STL 中优先队列的使用
基本操作
priority_queue<int, vector<int>, greater<int> > q;
q.push(x);加入一个元素
q.pop();删除队列首元素
q.top();返回优先队列首元素
q.size();返回元素个数
//默认为最大优先队列
//priority_queue<int> que; 最大优先队列声明
//priority_queue<int,vector<int>,greater<int >> que
//模板里有三个参数,第一个为元素的类型,第二个为使用的容器,第三个为一个比较原则
#include<cstdio>
#include<queue>
#include<algorithm>
#include<iostream>
using namespace std;
//使用优先队列要加上头文件<queue>
int main()
{
priority_queue<int, vector<int>, greater<int> > q;
q.push(12);
q.push(15);
q.push(8);
q.push(11);
while(!q.empty())
{
cout<<q.top()<<" ";
q.pop();
}
return 0;
}