本文介绍STL中的优先队列priority_queue的用法示例。优先队列是一种有序的容器。下面是示例代码。
#include "iostream"
using namespace std;
#include "queue"
void main71()
{
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 << "size:" << p1.size() << endl;
while(p1.size() > 0)
{
cout << p1.top() << " ";
p1.pop();
}
cout << endl;
cout << "最小优先级队列" << endl;
p3.push(33);
p3.push(55);
p3.push(22);
p3.push(11);
cout << "最小优先级队列队头元素:" << p3.top()<<endl;// 11 22 33 55
cout << "最小优先级队列大小;" << p3.size() << endl;
while(p3.size() > 0)
{
cout << p3.top() << " ";
p3.pop();
}
cout << endl;
}
void main()
{
main71();
cout << "hello..."<< endl;
system("pause");
}