STL 优先级队列 priority_queue
自适应器(容器适配器):不能使用list
最大值优先级队列(默认),最小值优先级队列
优先级队列适配器 priority_queue<int,vector<int>> pq; /////////默认最大的是位于首位的
priority_queue<int,deque<int>> pq;
pq.empty() // 队列是否为空 返回的是布尔类型的值
pq.size() //返回的是队列的大小
pq.top() //返回的是队列的首位数据
pq.pop() //删除队列的首位
pq.push() //压如数据入队
#include<iostream>
#include<queue>using namespace std;
int main(){
priority_queue<int,vector<int>> a1;
priority_queue<int,deque<int>> a2;
priority_queue<int> a3; //默认都是最大的队列排序
priority_queue<int,vector<int>,greater<int>> a4;
a3.push(1);
a3.push(45);
a3.push(23);
a3.push(8);
a4.push(1);
a4.push(45);
a4.push(23);
a4.push(8);
while(!a3.empty())
{
cout<<"a3首位是:"<<a3.top()<<endl;
a3.pop();
}
while(!a4.empty())
{
cout<<"a4首位是:"<<a4.top()<<endl;
a4.pop();
}
return 0;
}