我是靠谱客的博主 殷勤火,最近开发中收集的这篇文章主要介绍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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部