#include<iostream>
#include<vector>
#include<math.h>
#include<string>
#include<algorithm>
using namespace std;
#include<map>
#include<stack>
#include<unordered_set>
#include<string.h>
#include<queue>
struct cmp
{
bool operator()(int a, int b)
{
return a > b;
}
};
priority_queue<int> maxHeap;
priority_queue<int,vector<int>,cmp> minHeap;
int main()

{
maxHeap.push(2);
maxHeap.push(3);
maxHeap.push(1);
int len = maxHeap.size();
for (int i = 0; i < len; i++)
{

cout << maxHeap.top() << endl;
maxHeap.pop();
}
minHeap.push(3);
minHeap.push(2);
minHeap.push(101);
int len2 = minHeap.size();
for (int i = 0; i < len2; i++)
{
cout << minHeap.top() << endl;
minHeap.pop();
}
return 0;
}

java中priorityqueue是最小堆,而c++是最大堆

PriorityQueue<Integer> minHeap=new PriorityQueue<>(11);
PriorityQueue<Integer> maxHeap=new PriorityQueue<>(11, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
return (o2-o1);
}
});

//python中默认的heapq中是最小堆,和java类似,最大堆的实现trick是入堆时候-num,出堆的时候再加上-num就可以了

具体:import heapq

minHeap=[]

heappush(minHeap,11)

heappush(minHeap,12);

heappop(minHeap)//出堆

minHeap[0] 堆顶的最大元素

最新文章

  1. bzoj1531: [POI2005]Bank notes
  2. 【Leafletjs】4.L.Map 中文API
  3. linux注销、关机、重启
  4. 发布windows phone应用经历实谈
  5. erl0007 - erlang 远程节点连接的两种方式
  6. Unity 时间缩放状态下的特效播放
  7. 数据结构(堆):SCOI 2009 生日礼物
  8. SQL 经典练习
  9. Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)
  10. Spring Cloud Alibaba到底坑不坑?
  11. React文档(十八)最佳性能
  12. 第三方jar包导入unity
  13. node-js:文摘
  14. await异步的,容易理解一点
  15. hdu 1455 N个短木棒 拼成长度相等的几根长木棒 (DFS)
  16. MariaDB Role
  17. 树莓派3Braspberry pi 如何汉化显示中文教程
  18. 用 python 修改文件中指定的行数
  19. 【零基础学习FreeRTOS嵌入式系统】之一:FreeRTOS环境搭建
  20. SQL中的替换函数replace()使用

热门文章

  1. Android—初识AsyncTask
  2. Request 和 Response 原理
  3. oc 中组合排序算法
  4. UIWebView保存网页中的图片(转载)
  5. React Native 红屏之Could not connect to development server.
  6. 我对uml类图关系的理解
  7. ORACLE VARCHAR2最大长度问题
  8. [AlwaysOn Availability Groups]DMV和系统目录视图
  9. T-SQL 将存储过程结果插入到表中
  10. 关于linux,我们应该学什么?