关于C++ priority_queue矢量在<int> priority_queue<int、矢量<int>、更大的<int> > pq 中做什么?

About C++ priority_queue what does vector<int> do in priority_queue<int, vector<int>, greater<int> > pq?

本文关键字:lt gt int priority queue pq 什么 关于 C++ 矢量      更新时间:2023-10-16

用c++构造priority_queue

priority_queue<int, vector<int>, greater<int> > pq

int是队列存储的值类型,较大的是比较器,第二个参数

vector<int> 

这里吗?

第二个参数是队列使用的底层容器。

priority_queue模板是容器适配器。也就是说,它本身不提供动态存储,而是调整现有的容器来提供所需的接口。

(优先队列的接口是根据标准库中的make_heap/push_heap/pop_heap算法实现的,底层容器需要有合适的迭代器)