优先队列小顶堆如何用代码定义
时间: 2023-07-19 14:35:31 浏览: 95
优先队列代码堆实现
5星 · 资源好评率100%
在C++中,可以使用STL库中的priority_queue来定义小顶堆优先队列。下面是一个示例代码:
```c++
#include <iostream>
#include <queue>
using namespace std;
int main() {
// 定义一个小顶堆优先队列
priority_queue<int, vector<int>, greater<int>> pq;
// 插入元素
pq.push(2);
pq.push(1);
pq.push(3);
// 输出队列中的元素
while (!pq.empty()) {
cout << pq.top() << " ";
pq.pop();
}
return 0;
}
```
在上面的代码中,使用`priority_queue<int, vector<int>, greater<int>>`来定义一个小顶堆优先队列。其中,`int`表示队列中元素的类型,`vector<int>`表示底层容器的类型,`greater<int>`表示元素的比较方式,即小于号(<)的比较方式。然后,使用`push()`函数将元素插入队列中,使用`top()`函数获取队列中的最小值,使用`pop()`函数弹出队列中的最小值。
阅读全文