c++ priority_queue
时间: 2023-09-28 18:07:22 浏览: 109
c++优先队列(priority_queue)用法详解
5星 · 资源好评率100%
C++ 中的 priority_queue 是一个优先队列,它的元素按照一定的优先级进行排序。在优先队列中,每个元素都有一个权重,权重越高的元素会被先处理。
priority_queue 是一个模板类,定义如下:
```c++
template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type>>
class priority_queue;
```
其中,T 为元素类型,Container 为容器类型,默认情况下是 vector<T>,Compare 为比较函数类型,默认情况下是 less<T>。
priority_queue 支持以下操作:
- push(x):将元素 x 插入优先队列中。
- pop():弹出队列顶部的元素。
- top():返回队列顶部的元素。
- empty():检查队列是否为空。
- size():返回队列中元素的个数。
priority_queue 的内部实现是一个堆,因此插入和弹出元素的时间复杂度为 O(log n),其中 n 为队列中元素的个数。
阅读全文