0
点赞
收藏
分享

微信扫一扫

priority queue 优先队列

priority queue 优先队列

1、特性

每个元素都有一个优先级,元素按优先级的顺序从队列中删除,如果优先级相同,则遵循先进先出规则。插入和删除都比一般的队列慢,因为必须对元素重新调整顺序,以支持按优先级排序。

2、适用情况

需要一个带优先级的先进先出结构

3、头文件

#include<queue>

4、复杂度

插入:push(),O(logN) 删除:pop(),O(logN) 查找(取堆顶):top(),O(1)

5、定义及常用函数

优先队列有三个参数,其声明形式为:

priority_queue< type, container, function >
这三个参数,后面两个可以省略,第一个不可以。
其中:
type:数据类型;
container:实现优先队列的底层容器,必须是数组形式实现的容器,例如vector、deque,而不能使list;
function:元素之间的比较方式;

top 访问队头元素
empty 队列是否为空
size 返回队列内元素个数
push 插入元素到队尾 (并排序)
emplace 原地构造一个元素并插入队列
pop 弹出队头元素
swap 交换内容

举报

相关推荐

0 条评论