10.2.7优先级队列priority_queue 最大值优先级队列、最小值优先级队列 优先级队列适配器 STL priority_queue 用来开发一些特殊的应用,请对stl的类库,多做扩展性学习 priority_queue<int,
deque> pq; priority_queue<int, vector> pq; pq.empty()
pq.size() pq.top() pq.pop() pq.push(item)
#include using namespace std;
#include “queue” void main81() { priority_queue p1; //默认是 最大值优先级队列 //priority_queue<int, vector, less > p1; //相当于这样写
priority_queue<int, vector, greater> p2; //最小值优先级队列p1.push(33); p1.push(11); p1.push(55); p1.push(22); cout <<“队列大小”
<< p1.size() << endl; cout <<“队头” << p1.top() << endl;while (p1.size() > 0) { cout << p1.top() << " "; p1.pop(); }
cout << endl;cout << “测试 最小值优先级队列” << endl; p2.push(33); p2.push(11);
p2.push(55); p2.push(22); while (p2.size() > 0) { cout <<
p2.top() << " "; p2.pop();} }
#include "iostream"
#include "vector"
#include "deque"
#include "algorithm"
#include "stack"
#include "queue"
#include "list"
#include<functional>
using namespace std;
void main81()
{
priority_queue<int> p1;///默认情况下最大值优先级队列
priority_queue<int, vector<int>, less<int>> p2; /// 提前定义好的预定义函数 谓词
priority_queue<int,vector<int>,greater<int>> p3; ///最小值优先级队列
p1.push(33);
p1.push(11);
p1.push(55);
p1.push(22);
cout << "队投元素" << p1.top() << endl;
cout << "队列大小" << p1.size() << endl;
while (p1.size()>0)
{
cout << p1.top() << " ";
p1.pop();
}
cout << "测试最小值优先级队列" << endl;
p3.push(33);
p3.push(11);
p3.push(55);
p3.push(22);
cout << "队投元素" << p3.top() << endl;
cout << "队列大小" << p3.size() << endl;
while (p3.size()>0)
{
cout << p3.top() << " ";
p3.pop();
}
}
void main()
{
main81();
system("pause");
}