STL(二十)priority_queue优先队列容器
2017-09-01 21:40
471 查看
优先队列也是一种从一端入队,另一端出队的队列。不同于一般队列的是,队列中最大的元素总是位于队首位置,因此,元素的出队并非按照先进先出的要求,将最先入队的元素出队,而是将当前队列中的最大元素出队。
STL优先队列的泛化,底层默认采用vector向量容器,使得队列容器的元素可做数组操作,从而应用堆算法找出当前队列最大元素,并将它调整到队首位置,确保最大元素先出队。
堆算法(heap algorithm)具有nlog(n)阶的算法时间复杂度
一、priority_queue技术原理
大根堆
小根堆
二、priority_queue应用基础
#include <queue>
1、创建priority_queue对象
priority_queue()
priority_queue(const priority_queue &)
2、元素入队
void push(const value_type &x)
3、元素出队
void pop()
4、取队首元素
const value_type& top() const
5、队列非空判断
bool empty()
6、队列的大小
size_type size()
STL优先队列的泛化,底层默认采用vector向量容器,使得队列容器的元素可做数组操作,从而应用堆算法找出当前队列最大元素,并将它调整到队首位置,确保最大元素先出队。
堆算法(heap algorithm)具有nlog(n)阶的算法时间复杂度
一、priority_queue技术原理
大根堆
小根堆
二、priority_queue应用基础
#include <queue>
1、创建priority_queue对象
priority_queue()
priority_queue(const priority_queue &)
2、元素入队
void push(const value_type &x)
3、元素出队
void pop()
4、取队首元素
const value_type& top() const
5、队列非空判断
bool empty()
6、队列的大小
size_type size()
相关文章推荐
- C++STL之priority_queue优先队列容器
- 【优先队列】【堆】STL之priority_queue、make_heap()、push_heap()、pop_heap()、容器适配器
- [C++ STL] 优先队列容器 priority_queue
- STL序列式容器之优先队列——priority_queue
- 谁都能看懂的C++ STL之优先队列(priority_queue)
- stack堆栈容器、queue队列容器和priority_queue优先队列容器(常用的方法对比与总结)
- 【用法详解】C++-STL 队列queue与优先队列priority_queue的用法详解与学习心得
- UVa - 136 - Ugly Numbers(STL - 优先队列priority_queue)
- priority_queue 优先队列容器
- STL 优先队列priority_queue 使用练习
- STL中的优先队列priority_queue的使用方法
- Priority_queue优先队列容器
- STL之优先队列priority_queue
- ACM学习历程19——queue队列容器与priority_queue优先队列容器
- UVA-LA 3135 2004年北京站C题 STL priority_queue自定义优先顺序优先队列的使用
- [C++]C++ STL priority_queue IndexPriorityQueue 索引优先队列 比较器
- STL优先队列priority_queue基本用法
- STL之优先队列(priority_queue)
- STL 优先队列 priority_queue 的使用
- 优先队列priority_queue容器的使用方法:出队,入队,删除队首元素,判断是否为空