POJ-数据结构-优先队列模板
2024-09-06 17:41:20
优先队列模板
优先队列是用堆实现的,所以优先队列中的push()、pop()操作的时间复杂度都是O(nlogn)。
优先队列的初始化需要三个参数,元素类型、容器类型、比较算子。
需要熟悉的优先队列操作:
- q.top() 访问堆顶
- q.push() 入堆
- q.pop() 出堆
- 不同类型元素的优先级设置
- 定义堆需要注意最后两个> >之间有一个空格
数据结构
priority_queue < int, vector<int>, less<int> > q; // 大顶堆——堆顶为大数
priority_queue < int, vector<int>, greater<int> > q; // 小顶堆——堆顶为小数
例-百练4078:实现堆结构
AC代码
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm> using namespace std; int main()
{
priority_queue < int, vector<int>, greater<int> >q;
int m, t, x, top;
cin >> m;
while (m--)
{
cin >> t;
if (t == )
{
cin >> x;
q.push(x);
}
if (t == )
{
top = q.top();
cout << top << endl;
q.pop();
}
}
return ;
}
最新文章
- Netty入门学习
- word20161210
- 【学】jQuery的源码思路5——增加class的操作
- Home-brew 安装&;卸载 Git
- java 把URL中的中文转换成utf-8编码
- Nginx + PHP 缓存详解
- IE 8 中 parseInt 的注意点
- mybatis第一个入门demo
- jQuery中on()方法用法实例详解
- 使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系(转)
- C++ STL它vector详细解释
- [译]Selenium Python文档:五、Waits等待
- poj_3258:River Hopscotch(二分)
- PCA算法和python实现
- leetCode66:加一
- 假设result是一个float型变量,其值为27.32,value是一个int型变量,其值为15执行以下语句后,两个便利的值分别是多少?为什么?
- Asp.net常用的三十多个代码(非常实用)
- Ubuntu Server 与 Ubuntu Desktop之间的区别
- myeclipse安装maven
- OSI与TCP/IP模型