1.介绍
优先队列是一种容器,它可以使得其第一个元素始终是它包含的最大元素,具体实现原理是堆排序。
它支持以下操作:
empty()
size()
top()
push()
pop()
在使用priority_queue之前,请包含头文件#include <queue>
2.具体用法
#include<iostream> #include<vector> #include<algorithm> #include <queue> #include <functional> using namespace std; int main(){ //大顶堆 priority_queue<int, vector<int>, less<int>> q; //小顶堆 priority_queue<int, vector<int>, greater<int>> p; for (int i = 0; i < 10; i++) { q.push(i); p.push(i); } cout << "less<int>" << endl; while (!q.empty()) { cout << q.top() << " "; q.pop(); } cout << endl; cout << "greater<int>" << endl; while (!p.empty()) { cout << p.top() << " "; p.pop(); } return 0; }