【笔记】【数据结构】优先队列
目录
- priority_queue是什么?
- priority_queue的定义
- 容器内元素的访问
- priority_queue队列优先级的设置
(一)priority_queue是什么?
- 优先队列
- 底层实现用堆来实现
- 每次队首的优先级最大
(二)priority_queue的定义
(1)引入头文件
# include <queue> using namespace std;
(2)定义使用
priority_queue<typename> name;
(三)容器内元素访问——只能通过top()函数来访问队首的元素
push() //使得元素x入队,时间复杂度为o(logN)。 top() //获取队首的元素,时间复杂度为o(1) pop() //pop()令队首出队,时间复杂度为o(logN) empty() //检测队列是否为空,返回true,返回false size() //返回队列中的元素数量
(四)队列优先级的设置
(1)默认大根堆
priority_queue <int > q; priority_queue <int ,vector <int > ,less <int > >;
其中: vector是承载堆的容器
less是比较类,less表示数字大优先级大,greater表示数字大,优先级小