博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ-数据结构-优先队列模板
阅读量:4562 次
发布时间:2019-06-08

本文共 858 字,大约阅读时间需要 2 分钟。

优先队列模板

优先队列是用堆实现的,所以优先队列中的push()、pop()操作的时间复杂度都是O(nlogn)。

优先队列的初始化需要三个参数,元素类型、容器类型、比较算子。

需要熟悉的优先队列操作:

  1. q.top() 访问堆顶
  2. q.push() 入堆
  3. q.pop() 出堆
  4. 不同类型元素的优先级设置
  5. 定义堆需要注意最后两个> >之间有一个空格

数据结构

priority_queue < int, vector
, less
> q; // 大顶堆——堆顶为大数priority_queue < int, vector
, greater
> q; // 小顶堆——堆顶为小数

例-百练4078:

AC代码

#include
#include
#include
#include
using namespace std;int main(){ priority_queue < int, vector
, greater
>q; int m, t, x, top; cin >> m; while (m--) { cin >> t; if (t == 1) { cin >> x; q.push(x); } if (t == 2) { top = q.top(); cout << top << endl; q.pop(); } } return 0;}

转载于:https://www.cnblogs.com/yun-an/p/11108947.html

你可能感兴趣的文章
窗口 对话框 Pop Dialog 示例
查看>>
ubuntu(centos) server安装vmware tools
查看>>
数据结构之最大不重复串
查看>>
为什么要配置sdk-tools/platform-toools?
查看>>
自己动手开发更好用的markdown编辑器-07(扩展语法)
查看>>
maven dependency:tree中反斜杠的含义
查看>>
队列的循环队列
查看>>
程序中的日期格式
查看>>
大众点评CAT错误总结以及解决思路
查看>>
C# 你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )...
查看>>
MyEclipse 检出新项目后,如果项目名称签名有个红色感叹号
查看>>
Java开发环境系列:一篇能解决你99%问题的排雷日记
查看>>
从0开始学爬虫3之xpath的介绍和使用
查看>>
HTML fieldset和legend标签
查看>>
Shell成长之路
查看>>
使用kmeans聚类观察京东物流优化挑战赛的数据
查看>>
同一天有重复请假
查看>>
POJ 1410 Intersection --几何,线段相交
查看>>
第一册:lesson eighty one.
查看>>
html5+js+.Net的即时多人聊天
查看>>