STL之优先级队列priority_queue

时间:2023-03-09 15:45:40
STL之优先级队列priority_queue

摘要:

  priority_queue,自适应容器(即容器适配器):不能由list来组建;

  最大值优先级队列(最大值始终在对首,push进去时候)

  最小值优先级队列;

  优先级队列适配器 STL  priority_queue

  priority_queue<int, deque<int> > pg;

  priority_queue<int, vector<int> > pg;

  STL中实现的方法:

    pg.empty();

    pg.size();

    pg.top();  //查看队首的元素

    pg.pop();  //从队首删除元素;

    pg.push(item);  //从队尾加入元素

 #include <iostream>
#include <queue> using namespace std;
int main()
{
//最大值有限队列, 会进行自动排序
priority_queue<int, vector<int> > pg;
priority_queue<int, deque<int> > pg2;
//priority_queue<int> pg3; pg.push();
pg.push();
pg.push(-);
pg.push(); std::cout <<"priority_queue first item: " << pg.top() << std::endl;
while(!pg.empty()){
std::cout<<"priority_queue del item: " << pg.top() << std::endl;
pg.pop();
}
//最小值有限队列,从小到大排序
priority_queue<int, deque<int>, greater<int> > pg3;
pg3.push();
pg3.push();
pg3.push(-);
pg3.push();
std::cout <<"priority_queue first item: " << pg3.top() << std::endl;
while(!pg3.empty()){
std::cout<<"priority_queue del item: " << pg3.top() << std::endl;
pg3.pop();
} return ;
}