STL中的优先级队列priority_queue
来源:互联网 发布:善领专业版数据 编辑:程序博客网 时间:2024/05/04 01:31
STL中priority_queue是一个容器适配器,本质是一个最大堆,也就是用vector实现的。
#include <iostream>#include <algorithm>#include <vector>using namespace std;template<typename T>class priority_queue {public:priority_queue() {}virtual ~priority_queue() {}void push(T t) {data.push_back(t);push_heap(data.begin(), data.end());}void pop() {pop_heap(data.begin(), data.end());data.pop_back();}T top() { return data.front(); }int size() { return data.size(); }private:vector<T> data;};
这是一个简单的实现,可以参考理解。STL的实现本质是一样的。
其中push_heap()和pop_heap()函数是<algorithm>中声明的,也就是STL提供的算法。使用vector中最后一个元素进行入堆,调整;出堆,调整的操作,时间复杂度为O(logn)。
0 0
- STL中的优先级队列priority_queue
- STL中的优先级队列priority_queue
- STL - priority_queue 优先级队列
- STL priority_queue 优先级队列
- STL之优先级队列priority_queue
- STL之优先级队列priority_queue
- C++STL优先级队列priority_queue
- STL之优先级队列priority_queue
- STL中的优先级队列(priority_queue)的自己实现priqueue
- STL系列之五 priority_queue 优先级队列
- STL系列之五 priority_queue 优先级队列
- STL系列之五 priority_queue 优先级队列
- STL系列之五 priority_queue 优先级队列
- STL中优先级队列的使用priority_queue
- STL系列之五 priority_queue 优先级队列
- [转载] STL 之 priority_queue 优先级队列
- STL系列之五 priority_queue 优先级队列
- STL系列之五 priority_queue 优先级队列
- 微信公众号平台的泛泛之谈
- qt opengl lesson3 给三角形和正方形上色
- uCos的内存管理
- 解决nginx服务下 thinkphp只能访问首页不报任何错误的问题
- Spring 学习笔记3——SpringMVC HTTP请求
- STL中的优先级队列priority_queue
- 手把手教你如何实现沉浸式状态栏
- 使用腾讯云IM遇到的问题
- (MAVEN) Spring MVC 入门之页面跳转
- Leetcode167 - Two Sum II - Input array is sorted(two pointers)
- Gym - 100923A Por Costel and Azerah 新手dp水题
- OSGI企业应用开发(十二)OSGI Web应用开发(一)
- 通过降维加速opencv中的knnMatch图像匹配
- OJ 7218 献给阿尔吉侬的花束__广搜