STL应用之大根堆小根堆
来源:互联网 发布:汉语言文学学什么知乎 编辑:程序博客网 时间:2024/06/06 01:30
定义:
priority_queue<int> xxx 大根堆
priority_queue<int, vector<int>, greater<int>> xxxx 小根堆
访问最值使用 xxx.top()
堆自动把最值维护在堆最上层
删除最值使用 xxx.pop()
删除后自动维护出一个新堆
插入元素使用 xxx.push(xxxx)
插入到元素该在的位置上 并自动维护堆有序
#include<queue>#include<iostream>#include<functional>#include<ctime>#include<cstdlib>using namespace std; priority_queue<int> pq1; //默认最大堆 priority_queue<int,vector<int>,greater<int> > pq2; //最小堆 /** addition equal_to 相等 not_equal_to 不相等 less 小于 greater 大于 less_equal 小于等于 greater_equal 大于等 这些在所有的排序算法中同样适用 */int main(){ srand(time(NULL)); for(int i=0;i<20;i++) { int r= rand()%10000; pq1.push(r); pq2.push(r); } for(int i=0;i<20;i++) { cout<<pq1.top()<<" "<<pq2.top()<<endl; pq1.pop(); pq2.pop(); } cin.get(); return 0;}
- STL应用之大根堆小根堆
- STL应用之大根堆小根堆
- STL之multiset应用。
- STL 应用之set
- stl 之应用
- STL简单应用之排序
- stl之vector的应用
- 练手之用STL类型区分应用
- STL应用之随机化全排列
- STL栈的应用之表达式求值
- STL库之栈的简单应用
- STL库之队列的简单应用
- stl之set集合容器应用基础
- stl之multiset容器的应用
- stl之bit_vector原理及应用
- 气的不行之STL应用-B
- STL之map应用 回文串
- STL之heap堆的应用
- Oracle 10g RAC中的DRM问题及关闭
- Linux启动过程综述
- ubuntu 安装JDK
- SQL SERVER2000 中的时间与日期函数
- ThreadGroup和ExecutorService
- STL应用之大根堆小根堆
- 开源项目dropthings的工作流接口IWorkflowHelper
- 用多态重构switch语句
- Python Eggs
- 开源项目dropthings的外观模式DashboardFacade
- ThreadGroup基本用法
- Java SE 学习笔记 第一记
- 在 JavaScript 中创建 JSON 对象
- 一个程序的“吃道”