文章目录
- C++ Priority Queues
-
- 头文件
- 小根堆
- 成员函数
-
- push()
- pop()
- size()
- top()
- empty()
C++ Priority Queues
priority_queue 是“优先队列”。它和普通队列的区别在于,优先队列的队头元素总是最大的——即执行 pop 操作时,删除的总是最大的元素;执行 top 操作时,返回的是最大元素的引用。
priority_queue 是采用“堆技术”技术实现的,其内部并非完全有序,但却能确保最大元素总在队头。因此,priority_queue 特别适合用于不停的在一堆元素中取走最大的元素,priority_queue插入和删除元素的复杂度都是O(log(n))。它的队头元素只能被查看或者修改,不能被删除。
头文件
queue 和 priority_queue 都是容器适配器,要使用它们,必须包含头文件 。
#include<iostream>
#include<queue>
using namespace std;
小根堆
优先队列默认是大根堆,若要实现升序,则需改变其中的优先级
priority_queue<int,vector<int>,greater<int> >q;//定义优先队列 升序
这样的话,我们可以得到一个小根堆;
意思大概是&
最后
以上就是殷勤火最近收集整理的关于STL容器与算法 (七)Priority Queues(优先队列)知识点C++ Priority Queues的全部内容,更多相关STL容器与算法内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复