【笔记】【数据结构】优先队列

目录

  1.   priority_queue是什么?
  2.   priority_queue的定义
  3.   容器内元素的访问
  4.   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表示数字大,优先级小

posted @ 2022-07-13 00:06  心若笺诗  阅读(20)  评论(0编辑  收藏  举报