- 自适应容器(容器适配器):不能使用list(不能对内部随机操作)
- 最大值优先级队列,最小值优先级队列
- 优先级队列适配器 STL priority_queue
priority_queue<int,deque<int>> pq;
priority_queue<int,deque<int>> pq;
pq.empty(); pq.size(); pq.top(); pq.pop(); pq.push(item)
#include <iostream>
#include<queue>
int main()
{
using namespace std;
priority_queue<int > pq;
priority_queue<int,deque<int>> pq3;
priority_queue<int,deque<int>,greater<int>> pq2;
//增加一个位词,变成最小值优先队列
pq.push(10);
pq.push(5);
pq.push(-1);
pq.push(20);
cout << "优先级队列里一共有:"<<pq.size()<<"个数据"<<endl;
cout << pq.top() << endl;
while(!pq.empty())
{
cout <<"从优先级队列中删除:" <<pq.top()<<endl;
pq.pop();
}
pq2.push(10);
pq2.push(5);
pq2.push(-1);
pq2.push(20);
cout<<pq2.top()<<endl;
while(!pq2.empty())
{
cout <<"从优先级队列中删除:" <<pq2.top()<<endl;
pq2.pop();
}
return 0;
}
#include <iostream>
#include<queue>
int main()
{
using namespace std;
priority_queue<int > pq;
priority_queue<int,deque<int>> pq3;
priority_queue<int,deque<int>,greater<int>> pq2;
//增加一个位词,变成最小值优先队列
pq.push(10);
pq.push(5);
pq.push(-1);
pq.push(20);
cout << "优先级队列里一共有:"<<pq.size()<<"个数据"<<endl;
cout << pq.top() << endl;
while(!pq.empty())
{
cout <<"从优先级队列中删除:" <<pq.top()<<endl;
pq.pop();
}
pq2.push(10);
pq2.push(5);
pq2.push(-1);
pq2.push(20);
cout<<pq2.top()<<endl;
while(!pq2.empty())
{
cout <<"从优先级队列中删除:" <<pq2.top()<<endl;
pq2.pop();
}
return 0;
}