我是靠谱客的博主 殷勤火,最近开发中收集的这篇文章主要介绍STL容器与算法 (七)Priority Queues(优先队列)知识点C++ Priority Queues,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 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容器与算法 (七)Priority Queues(优先队列)知识点C++ Priority Queues所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复