priority_queue的代码
时间: 2023-08-07 21:11:40 浏览: 108
下面是一个使用 priority_queue 的简单示例代码:
```cpp
#include <iostream>
#include <queue>
int main() {
// 创建一个优先队列,默认使用 less 比较器进行排序
std::priority_queue<int> pq;
// 插入元素
pq.push(30);
pq.push(10);
pq.push(50);
pq.push(20);
// 访问队列顶部元素
std::cout << "队列顶部元素:" << pq.top() << std::endl;
// 弹出队列顶部元素
pq.pop();
// 遍历队列中的元素
std::cout << "队列中的元素:";
while (!pq.empty()) {
std::cout << pq.top() << " ";
pq.pop();
}
std::cout << std::endl;
return 0;
}
```
这个示例创建了一个优先队列 `pq`,并插入了几个整数元素。然后通过 `top()` 函数访问队列顶部的元素,通过 `pop()` 函数弹出队列顶部的元素。最后,使用 `empty()` 函数检查队列是否为空,并通过循环遍历打印队列中的元素。输出结果应该是:
```
队列顶部元素:50
队列中的元素:30 20 10
```
这个示例中使用了默认的 less 比较器,因此元素按照降序排列。如果需要自定义排序规则,可以传入自定义的比较器作为参数,例如 `std::greater<int>` 表示升序排序。
阅读全文