(堆)priority_queue
来源:互联网 发布:单片机是什么 编辑:程序博客网 时间:2024/05/21 22:48
注意结合queue的用法记忆
top()(注意这个在queue中没有,和queue中的front()一样)
// priority_queue::top#include <iostream> // std::cout#include <queue> // std::priority_queueint main (){ std::priority_queue<int> mypq; mypq.push(10); mypq.push(20); mypq.push(15); std::cout << "mypq.top() is now " << mypq.top() << '\n'; return 0;}
Output:
mypq.top() is now 20
swap()
// priority_queue::swap#include <iostream> // std::cout#include <queue> // std::priority_queueint main (){ std::priority_queue<int> foo,bar; foo.push (15); foo.push(30); foo.push(10); bar.push (101); bar.push(202); foo.swap(bar); std::cout << "size of foo: " << foo.size() << '\n'; std::cout << "size of bar: " << bar.size() << '\n'; return 0;}
Output:
size of foo: 2size of bar: 3
size()
// priority_queue::size#include <iostream> // std::cout#include <queue> // std::priority_queueint main (){ std::priority_queue<int> myints; std::cout << "0. size: " << myints.size() << '\n'; for (int i=0; i<5; i++) myints.push(i); std::cout << "1. size: " << myints.size() << '\n'; myints.pop(); std::cout << "2. size: " << myints.size() << '\n'; return 0;}
Output
0. size: 0
1. size: 5
2. size: 4
push()
// priority_queue::push/pop#include <iostream> // std::cout#include <queue> // std::priority_queueint main (){ std::priority_queue<int> mypq; mypq.push(30); mypq.push(100); mypq.push(25); mypq.push(40); std::cout << "Popping out elements..."; while (!mypq.empty()) { std::cout << ' ' << mypq.top(); mypq.pop(); } std::cout << '\n'; return 0;}
Output Popping out elements... 100 40 30 25
pop()
// priority_queue::push/pop#include <iostream> // std::cout#include <queue> // std::priority_queueint main (){ std::priority_queue<int> mypq; mypq.push(30); mypq.push(100); mypq.push(25); mypq.push(40); std::cout << "Popping out elements..."; while (!mypq.empty()) { std::cout << ' ' << mypq.top(); mypq.pop(); } std::cout << '\n'; return 0;}
Output Popping out elements... 100 40 30 25
empty()
/ priority_queue::empty#include <iostream> // std::cout#include <queue> // std::priority_queueint main (){ std::priority_queue<int> mypq; int sum (0); for (int i=1;i<=10;i++) mypq.push(i); while (!mypq.empty()) { sum += mypq.top(); mypq.pop(); } std::cout << "total: " << sum << '\n'; return 0;}
Output total: 55
emplace()(不常用)
// priority_queue::emplace#include <iostream> // std::cout#include <queue> // std::priority_queue#include <string> // std::stringint main (){ std::priority_queue<std::string> mypq; mypq.emplace("orange"); mypq.emplace("strawberry"); mypq.emplace("apple"); mypq.emplace("pear"); std::cout << "mypq contains:"; while (!mypq.empty()) { std::cout << ' ' << mypq.top(); mypq.pop(); } std::cout << '\n'; return 0;} Edit & Run
Output mypq contains: strawberry pear orange apple
0 0
- (堆)priority_queue
- 【模板】priority_queue(堆)
- priority_queue 建立最小堆
- 关于最小堆以及priority_queue
- C++ priority_queue 最大堆、最小堆
- ural 1306【priority_queue+堆查找中间值】
- C++的priority_queue实现最大堆
- 使用priority_queue 实现数据结构——堆
- 堆得应用【一】--【优先级队列priority_queue】
- priority_queue的实现最小堆的用法
- 使用 stl container priority_queue 实现最小堆和最大堆
- 百练+priority_queue应用+最大堆最小堆找出中位数
- priority_queue
- priority_queue
- priority_queue
- priority_queue
- priority_queue
- priority_queue
- WIN32 GUI 滚动条 简单实例
- 删除svn版本信息
- axure官网地址
- c语言中typeof关键字
- AjaxControlToolkit控件 中 TextBoxWatermarkExtender应用
- (堆)priority_queue
- packages.list和packages.xml
- Mysql调优-表分区
- android 标签云的实现 关于x轴 冒泡排序~瞬间让你高达上
- QT学习之读取excel并保存为文本文件
- POJ - 2991 Crane (线段树+计算几何)
- perl DBI
- LevelListDrawable学习
- (转)VmWare下安装CentOS6图文安装教程