priority_queue——优先队列
优先队列: 它的入队顺序没有变化,但是出队的顺序是根据优先级的高低来决定的。优先级高的优先出队。
1.最大值优先级队列、最小值优先级队列
2.用来开发一些特殊的应用
3.#include <queue>
代码示例:
#include <queue>
#include <iostream>
#include <list>
#include <vector>
#include <deque>
#include <set>
using namespace std;
int main(void) {
//priority_queue<int> pqA;//默认情况下是值越大,优先级越大
//priority_queue<int, vector<int>, greater<int>> pqA; //使用 vector 值越小,优先级越大,默认是vector
priority_queue<int, deque<int>, greater<int>> pqA; //使用deque 值越小,优先级越大
//priority_queue<int, list<int>, greater<int>> pqA; //不可以使用list,不兼容
pqA.push(1);
pqA.push(2);
pqA.push(3);
pqA.push(3);
pqA.push(4);
pqA.push(5);
pqA.push(3);
while (!pqA.empty()) {
cout << pqA.top() << " ";//读取队首的元素,但元素不出列
pqA.pop(); //出队列
}
cout << endl;
system("pause");
return 0;
}
运行结果: