10.2.7优先级队列priority_queue

v  最大值优先级队列、最小值优先级队列

v  优先级队列适配器 STL priority_queue

v  用来开发一些特殊的应用,请对stl的类库,多做扩展性学习

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>

using namespace std;

#include "queue"

void main81()

{

priority_queue<int> p1; //默认是 最大值优先级队列

//priority_queue<int, vector<int>, less<int> > p1; //相当于这样写

priority_queue<int, vector<int>, greater<int>> p2; //最小值优先级队列

p1.push(33);

p1.push(11);

p1.push(55);

p1.push(22);

cout <<"队列大小" << p1.size() << endl;

cout <<"队头" << p1.top() << endl;

while (p1.size() > 0)

{

cout << p1.top() << " ";

p1.pop();

}

cout << endl;

cout << "测试 最小值优先级队列" << endl;

p2.push(33);

p2.push(11);

p2.push(55);

p2.push(22);

while (p2.size() > 0)

{

cout << p2.top() << " ";

p2.pop();

}

}

#include<iostream>
using namespace std;
#include "queue" void main81()
{
priority_queue<int>p1;//默认情况下,最大值优先级队列
priority_queue<int,vector<int>,less<int>> p2; //提前定义好的预定义函数 谓词
priority_queue<int,vector<int>,greater<int>>p3;//最小值优先队列 p1.push();
p1.push();
p1.push();
p1.push(); cout<<"队列元素"<<p1.top()<<endl;
cout<<"队列的大小"<<p1.size()<<endl; while (p1.size()>)
{
cout<<p1.top()<<" ";
p1.pop();
} cout<<endl<<"最小值优先级队列"<<endl;
p3.push();
p3.push();
p3.push();
p3.push(); cout<<"队列元素"<<p3.top()<<endl;
cout<<"队列的大小"<<p3.size()<<endl; while (p3.size()>)
{
cout<<p3.top()<<" ";
p3.pop();
} }
void main()
{
main81();
cout<<"hello..."<<endl;
return;
}

资料来源:传智播客

最新文章

  1. 生成Json文件
  2. [HTML5]HTML表单(Forms)
  3. 网络流 poj 3308 最小割
  4. 在linux中的info手册的用法
  5. web.xml的初始化参数
  6. Linux/Unix mac 命令笔记
  7. Oracle Analyze 命令 详解
  8. 当里个当,免费的HTML5连载来了《HTML5网页开发实例详解》连载(一)
  9. 教你50招提升ASP.NET性能(一):缓存是最后的手段
  10. 使用Abator生产ibatis配置文件
  11. 10个JavaScript小技巧
  12. psl/sql本地与远程连接配置
  13. NTP服务器时间同步
  14. UI相关
  15. 局部敏感哈希(Locality-Sensitive Hashing, LSH)
  16. js实现上传图片回显功能
  17. postgresql-10.1-3-windows-x64 安装之后,起动pgAdmin 4问题(win10)
  18. 课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现
  19. SpringBootTest单元测试实战、SpringBoot测试进阶高级篇之MockMvc讲解
  20. foreachPartition来写数据库

热门文章

  1. oracle 复制表结构 复制表数据 sql 语句
  2. umount nfs文件系统 显示 umount.nfs: device is busy
  3. RESTful 架构基础
  4. Centos7+Mysql80安装+远程链接开启
  5. 面对对象程序设计_task2_C++视频教程
  6. 1305. [CQOI2009]跳舞【最大流+二分】
  7. mongodb的学习-2-简介
  8. Python中为什么要使用self?
  9. Word中摘要和正文同时分栏后,正文跑到下一页,怎么办?或Word分栏后第一页明明有空位后面的文字却自动跳到第二页了,怎么办?
  10. IIS提示出现RPC服务器不可用的解决方法