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(33);p1.push(11);p1.push(55);p1.push(22);cout<<"队列元素"<<p1.top()<<endl;cout<<"队列的大小"<<p1.size()<<endl;while (p1.size()>0){cout<<p1.top()<<" ";p1.pop();}cout<<endl<<"最小值优先级队列"<<endl;p3.push(33);p3.push(11);p3.push(55);p3.push(22);cout<<"队列元素"<<p3.top()<<endl;cout<<"队列的大小"<<p3.size()<<endl;while (p3.size()>0){cout<<p3.top()<<" ";p3.pop();}}
void main()
{main81();cout<<"hello..."<<endl;return;
}

资料来源:传智播客

转载于:https://www.cnblogs.com/wuchuanying/p/6272297.html

C++ STL 学习笔记__(6)优先级队列priority_queue基本操作相关推荐

  1. STL学习系列七:优先级队列priority_queue容器

    1.简介 最大值优先级队列.最小值优先级队列 优先级队列适配器 STL priority_queue 用来开发一些特殊的应用,请对stl的类库,多做扩展性学习 这里给个例子: #include< ...

  2. 6-5-3:STL之stack和queue——优先级队列-priority_queue(堆)的基本使用和模拟实现以及仿函数

    文章目录 一:优先级队列-priority_queue(堆) (1)基本使用 (2)模拟实现 二:仿函数 (1)仿函数是什么 (2)使用仿函数完成大顶堆和小顶堆的构建 一:优先级队列-priority ...

  3. C++ STL学习笔记

    C++ STL学习笔记一 为何要学习STL: 数据结构与算法是编程的核心,STL中包含各种数据结构和优秀的算法,确实值得深入学习,本文中虽然着重使用,但希望有心的朋友能多看看相关数据结构的实现,对于C ...

  4. C++STL学习笔记(4) 分配器(Allocator)

    在前面的博客<C++ STL学习笔记(3) 分配器Allocator,OOP, GP简单介绍>中,简单的介绍了分配器再STL的容器中所担当的角色,这一节对STL六大部件之一的分配器进行详细 ...

  5. C++ STL学习笔记(3) 分配器Allocator,OOP, GP简单介绍

    继续学习侯捷老师的课程! 在前面的博客<C++ STL学习笔记(2) 容器结构与分类>中介绍了STL中常用到的容器以及他们的使用方法,在我们使用容器的时候,背后需要一个东西支持对内存的使用 ...

  6. Maven学习笔记__上篇

    Maven学习笔记__上篇 本文档基于 尚硅谷视频教程 整理,仅用于个人学习/交流使用. 视频链接:https://www.bilibili.com/video/BV1TW411g7hP 官方资料:链 ...

  7. (P85)stl(十三):容器适配器,stack,queue,优先级队列priority_queue,make_heap

    文章目录 1.容器适配器 2.stack 3.queue 4.优先级队列priority_queue 5.make_heap 6.set 1.容器适配器 利用基本容器构造的容器,称之为容器适配器 基本 ...

  8. 优先级队列priority_queue

    优先级队列priority_queue 优先级队列是一个拥有权值的queue,其内部元素按照元素的权值排列.权值较高者排在最前优先出队.其中缺省情况下系统是通过一个max-heap以堆实现完成排序特性 ...

  9. CC2530学习笔记(2)—— IO端口基本操作实验(按键控制亮灯)

    CC2530学习笔记(2)-- IO端口基本操作(按键控制亮灯) 关于CC2530的IO端口基本知识.IO端口有关寄存器的介绍和描述请参照:CC2530学习笔记(1)--  IO端口 电路原理图如图1 ...

最新文章

  1. GDI+ 学习记录(27): Bitmap
  2. Head First JSP---随笔十(过滤器的威力)
  3. scikit-learn点滴
  4. php 编译安装gd 失败,编译安装php5 解决编译安装的php加载不了gd
  5. java思维导图 - -13张思维导图带你快速入门 --
  6. java提取富文本文字_富文本中文字部分提取
  7. Linux网络容灾,关于异地容灾的感触
  8. linux NM 命令使用介绍
  9. 测试不同体重体型软件样子的,为什么有的人身高、体重相同,体型却不一样?这是体脂率在作祟...
  10. 怎么制作GIF动图?用这两个工具,生成GIF超简单
  11. ffmpeg里转场transition
  12. F5 ELK可视化方案如何做到DNS运维更安全更高效
  13. Java树状图展示的实现
  14. python外汇交易回测系统_StarQuant - 综合量化交易回测系统/平台
  15. R语言 | GEO数据库下载GSE基因芯片 以及表达矩阵和临床信息的提取
  16. Qt网络编程电子白板
  17. html鼠标拖尾效果,前端每日实战:25# 视频演示如何用纯 CSS 创作一个慧星拖尾效果的 loader 动画...
  18. Quest 3d q.LoadChannelGroup的用法详解
  19. 很好用的查看音频波形的软件cool edit pro
  20. 图片交易平台Scoopshot获120万美元投资

热门文章

  1. oracle 查看最大连接数与当前连接数
  2. input标签在谷歌浏览器记住密码下的一个自动填充BUG
  3. 团队项目冲刺第二天进度
  4. 简单的二维数组问题,不用不知道,一用吓一跳
  5. Linux下的Latex安装和中文支持
  6. JavaScript 弹出层,背景变暗
  7. 如何为XAF设置默认属性值?
  8. numactl mysql_CentOS学习笔记 - 10. 开发机mysql安装
  9. 电脑声音太小如何增强_如何录制电脑上播放的声音,背景音乐
  10. java上下文_Java,gRPC和上下文传播(Java, gRPC and Context propagation)