c++之STL(8)优先级队列 priority_queue
2016-07-28 00:53
489 查看
本文是听的网络课程,而记录下来的学习心得。
自适应容器(容器适配器):不能使用list
特点:数据中最大的放的是队首
从队首拿出来的数据始终是最大的
两种优先级队列:
最大值优先级队列、最小值优先级队列
优先级队列适配器 STL priority_queue
priority_queue<int, deque<int>> pq;
priority_queue<int, vector<int>> pq;
pq.empty()
pq.size()
pq.top()
pq.pop()
pq.push(item)
自适应容器(容器适配器):不能使用list
特点:数据中最大的放的是队首
从队首拿出来的数据始终是最大的
两种优先级队列:
最大值优先级队列、最小值优先级队列
优先级队列适配器 STL priority_queue
priority_queue<int, deque<int>> pq;
priority_queue<int, vector<int>> pq;
pq.empty()
pq.size()
pq.top()
pq.pop()
pq.push(item)
#include<iostream> #include<queue> // using namespace std; int main() { //最大值优先级队列 priority_queue<int, vector<int>> pq; // 默认的是使用的 vector 上句等价于 priority_queue<int> pq; priority_queue<int, deque<int>> pq2; pq.push(10); pq.push(5); pq.push(-1); pq.push(20); cout << "优先级队列一共有:" << pq.size() << endl; cout << pq.top() << endl;// 输出最大值 while (!pq.empty()) { cout << "从优先级队列里删除:" << pq.top() << endl; pq.pop(); } // system("pause"); return 0; }
#include<iostream> #include<queue> #include<functional> // using namespace std; int main() { //最大值优先级队列 priority_queue<int, vector<int>> pq; // 默认的是使用的 vector 上句等价于 priority_queue<int> pq; // greater 谓词 要加入头文件 #include<functional> priority_queue<int, deque<int>, greater<int>> pq2; // 最小值优先级队列 pq.push(10); pq.push(5); pq.push(-1); pq.push(20); cout << "优先级队列一共有:" << pq.size() << endl; cout << pq.top() << endl;// 输出最大值 while (!pq.empty()) { cout << "从优先级队列里删除:" << pq.top() << endl; pq.pop(); } cout << "下面是最小值优先级队列" << endl; pq2.push(10); pq2.push(5); pq2.push(-1); pq2.push(20); cout << pq2.top() << endl; while (!pq2.empty()) { cout << pq2.top() << endl; pq2.pop(); } // system("pause"); return 0; }
相关文章推荐
- c/c++ cin>> cout<< scanf() printf() 返回值
- 实习点滴 - 破窗理论、C++ 函数模板静态库
- 优先队列--C语言实现与Java例子
- C++中标准类string常用示例
- c++对象内存模型分析工具
- C++中string和int之间的转换
- leetcode 328. Odd Even Linked List 16ms beats 96.25% c++
- hdoj1879 继续畅通工程
- hdoj1233 还是畅通工程
- hdoj1232 畅通工程
- hdoj 1863 畅通工程
- hdoj1875 畅通工程再续
- hdoj5734 Acperience
- hdoj5742 It's All In The Mind
- hdoj4497
- hdoj5428 The Factor
- 2016多校联训第二场 Keep On Movin hdoj5744
- hdoj3791 二叉搜索树
- C++ 值传递、指针传递、引用传递详解
- 观察者模式-c++实现