priority queue
2016-03-21 09:32
429 查看
priority queue 是一个加上heap处理规则的queue,是一个容器适配器。
缺省情况下以vector为底部容器
重要的几个函数如下:
缺省情况下以vector为底部容器
重要的几个函数如下:
template <class InputIterator> priority_queue(InputIterator first, InputIterator last, const Compare& x) : c(first, last), comp(x) { make_heap(c.begin(), c.end(), comp); } template <class InputIterator> priority_queue(InputIterator first, InputIterator last) : c(first, last) { make_heap(c.begin(), c.end(), comp); } // 返回优先级最高的元素 const_reference top() const { return c.front(); } // 插入元素, 并调整heap void push(const value_type& x) { __STL_TRY { c.push_back(x); //利用底层元素将元素插入 // 详细分析见<stl_heap.h>,重新堆排序 push_heap(c.begin(), c.end(), comp); } __STL_UNWIND(c.clear()); } // 弹出优先级最高的元素 void pop() { __STL_TRY { // 详细分析见<stl_heap.h> pop_heap(c.begin(), c.end(), comp); c.pop_back(); } __STL_UNWIND(c.clear()); }
相关文章推荐
- UIBarButtonItem 左边间隙过大 解决方案
- Java排序算法(一)--快速排序(QuickSort)
- 类似于StringBuilder的字符串加强处理类
- 利用F#库canopy进行UI测试
- [LeetCode] Range Sum Query 2D - Mutable 二维区域和检索 - 可变
- Handler,Messgae,MessageQueue,Looper分析
- //var_dump(get_defined_constants(True));获取系统常量
- Uiautomator 2.0之UiDevice新增API学习小记
- Vue.js
- StringBuilder & StringBuffer
- 关于UIView的Alpha和NSDate的两个使用方法
- 【安卓】UI笔记
- QuiLoader 动态加载 QMainWindow
- Poj 2299 - Ultra-QuickSort 离散化,树状数组,逆序对
- QT 动态加载UI文件注意事项
- JSP局部刷新,子页面中的EasyUI失效问题解决
- IOS基础控件-UITableView
- IOS开发之UIView总结
- Servlet - Request、Session、servletContext区别
- java.sql.SQLException: No suitable driver found for jdbc