STL之priority_queue
来源:互联网 发布:java报表程序 编辑:程序博客网 时间:2024/05/21 06:26
priority_queue是优先级队列,主要应用于需要自动排序的情况,比如录入成绩。
一、priority_queue的基本操作
#include<iostream>#include<queue>#include<functional>using namespace std;void func1() { priority_queue<int> pq1; priority_queue<int, vector<int>, less<int>> pq2; priority_queue<int, vector<int>, greater<int> > pq3; pq1.push(33); pq1.push(11); pq1.push(55); pq1.push(22); cout << " 最大值优先队列队头为: "<< pq1.top() << endl; cout << " 最大值优先队列大小为: " << pq1.size() << endl; while (pq1.size() > 0) { cout << pq1.top() << " "; pq1.pop(); } cout << endl; pq2.push(33); pq2.push(11); pq2.push(55); pq2.push(22); cout << " 最大值优先队列队头为: " << pq2.top() << endl; cout << " 最大值优先队列大小为: " << pq2.size() << endl; while (pq2.size() > 0) { cout << pq2.top() << " "; pq2.pop(); } cout << endl; pq3.push(33); pq3.push(11); pq3.push(55); pq3.push(22); cout << " 最小值优先队列队头为: " << pq3.top() << endl; cout << " 最小值优先队列大小为: " << pq3.size() << endl; while (pq3.size() > 0) { cout << pq3.top() << " "; pq3.pop(); } cout << endl;}int main(){ func1(); system("pause"); return 0;}
输出结果:
可以看到
priority_queue<int> pq1;
默认就是最大值优先,
priority_queue<int, vector<int>, less<int>> pq2;
这种形式也是最大值优先;
priority_queue<int, vector<int>, greater<int> > pq3;
这种形式是最小值优先。其中的less和greater需要头文件,是预先定义好的函数。
0 0
- 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
- 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之queue和priority_queue
- 背包问题
- 【java多线程系列】java中的volatile的内存语义
- HTML5之Web Workers
- 大数据 - R语言数据可视化 - 1
- Eclipse怎样快速去掉注释?
- STL之priority_queue
- HDFS常用命令
- WebView 加载HTML和CSS
- 小z的袜子题后小结
- 二叉搜索树的第k个结点
- python 串口效率测试
- Metal 着色语言编程指南 二六
- Struts2 在 HTTP 请求中直接返回文本
- spring DelegatingFilterProxy 过滤器的原理及运用