priority_queue<int,vector<int>,greater<int> > q2
时间: 2023-12-20 15:06:12 浏览: 133
priorityQueue优先队列
以下是关于priority_queue的介绍和演示:
1. 介绍:
priority_queue是C++ STL中的一个容器适配器,它提供了常数时间的最大元素访问能力,并且在对数时间内插入和删除元素。默认情况下,priority_queue是一个最大堆,即最大元素总是位于队列的开头。通过指定greater<int>作为第三个模板参数,可以创建一个最小堆,使得最小元素位于队列的开头。
2. 演示:
```cpp
#include <iostream>
#include <queue>
using namespace std;
int main() {
int a[] = {3, 1, 4, 1, 5, 9};
int len = 6;
priority_queue<int, vector<int>, greater<int> > qi2; // 创建一个从小到大的优先级队列
for (int i = 0; i < len; i++) {
qi2.push(a[i]);
}
while (!qi2.empty()) {
cout << qi2.top() << " "; // 从小到大输出队列中的元素
qi2.pop();
}
cout << endl;
return 0;
}
```
运行以上代码,将输出:1 1 3 4 5 9
阅读全文