1.基本操作:
empty() 如果队列为空,则返回真
pop() 删除对顶元素,删除第一个元素
push() 加入一个元素
size() 返回优先队列中拥有的元素个数
top() 返回优先队列对顶元素,返回优先队列中有最高优先级的元素
2.声明
1)头文件<queue>
2)priority_queue<int> q; 默认大顶堆。(top()弹出最大值)
priority_queue<int,vector<int>,greater<int> > q; 小顶堆写法(top()弹出最小值)
以下是以pair:
priority_queue<pair> q;
priority_queue<pair,vector<pair>,greater<pair> > (比较的是pair.first)
(PS:注意pair需要头文件<utility>)
3.代码演示
#include <iostream>
#include <queue>
#include <vector>
#include <utility>
using namespace std;
typedef pair<int,int> PII;
int main()
{
priority_queue<int> q1;
priority_queue<int,vector<int>,greater<int> > q2;
priority_qu