priority_queue<Type, Container, Functional>
//Type 数据类型,
//Container  容器类型(必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector)
//Functional 比较的方式,当需要用自定义的数据类型时才需要传入这三个参数。使用基本数据类型时,只需要传入数据类型,默认是大顶堆。

默认参数

容器默认用的是vector,比较方式默认用operator<,也就是优先队列是大顶堆,队头元素最大。

priority_queue<int, vector<int>, greater<int> > que;    //优先输出最小数据
//仿函数:greater升序  less降序

自定义类型

#include <iostream>
#include <queue>//运算符重载<
struct Data_Compare
{int x;Data_Compare(int data) {x = data;}bool operator<(const Data_Compare& a) const{return x < a.x; //大顶堆}
};//重写仿函数
struct Data_Func
{bool operator() (Data_Compare a, Data_Compare b){return a.x< b.x; //大顶堆}
};int main()
{Data_Compare a(100);Data_Compare b(9);Data_Compare c(57);priority_queue<Data_Compare> queue1;queue1.push(b);queue1.push(c);queue1.push(a);while (!queue1.empty()){std::cout << queue1.top().x <<std::endl;queue1.pop();}priority_queue<Data_Compare, vector<Data_Compare>, Data_Func> queue2;queue2.push(c);queue2.push(b);queue2.push(a);while (!queue2.empty()){std::cout << queue2.top().x << std::endl;queue2.pop();}system("pause");
}

运行结果

c++ 优先队列_std::priority_queue(优先队列)相关推荐

  1. c++ std::priority_queue优先队列

    template <class T, class Container = vector<T>,class Compare = less<typename Container:: ...

  2. [C++STL教程]7.priority_queue优先队列入门学习!零基础都能听懂的教程

    不知不觉C++STL教程系列已经第7期了.之前我们介绍过:vector, queue, stack, set, map等等数据结构. 今天我们来学习一个新的stl容器:priority_queue优先 ...

  3. priority_queue优先队列的使用方法

    说到优先队列,大家肯定想到了队列(这肯定是对于学过队列的同学来说,当然了,没学过也没事,对于本篇文章没什么问题滴),队列的特征是后进后出,按照排队先来后到的顺序的,本篇文章介绍的priority_qu ...

  4. 优先队列(最小优先队列)

    优先队列(最小优先队列) 前言 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在某些情况下,我们可能需要找出队列中的最大值或者最小值,例如使用一个队列保存计算机的任务,一般情况 ...

  5. priority_queue优先队列

    引入 优先队列是一种特殊的队列,在学习堆排序的时候就有所了解. 那么优先队列是什么呢?  说白了,就是一种功能强大的队列. 它的功能强大在哪里呢?  四个字:自动排序. 优先队列的头文件&&a ...

  6. priority_queue优先队列的用法总结

    最近在刷题时很多次遇到了优先队列的用法,在这里mark一下,做个总结. 介绍: 既然是队列,那么先要包含头文件#include , 他和queue不同的就在于:我们可以自定义其中数据的优先级, 让优先 ...

  7. 贪心算法之用优先队列(priority_queue)实现哈夫曼编码问题

    1.问题 参考我的博客:贪心算法之哈夫曼编码问题 2.优先队列知识复习 参考我的博客: C++之STL之priority_queue 3.代码实现 #include <iostream> ...

  8. priority_queue 优先队列

    优先队列是单向队列的一种,可以按照默认或自定义的一种方式来对队列中的数据进行动态排序 template<class _Ty, class _Container = vector<_Ty&g ...

  9. 优先队列(priority_queue)

    优先队列:顾名思义,首先它是一个队列,但是它强调了"优先"二字,所以,已经不能算是一般意义上的队列了,它的"优先"意指取队首元素时,有一定的选择性,即根据元素的 ...

最新文章

  1. TSQL 聚合函数忽略NULL值
  2. android启动服务的生命周期,android Service启动运行服务 生命周期
  3. 支付宝技术风险负责人陈亮:把事情做到极致,技术的差异性才会体现出来
  4. 图像语义分割python_遥感图像语义分割常用精度指标及其python实现(支持多类)
  5. 揭秘微信「看一看」如何精准挖掘你感兴趣的内容
  6. DjangoAPP子路由
  7. Linemod;理解
  8. Codeforces Round #655 (Div. 2) D. Omkar and Circle 思维 + 奇偶贪心
  9. 华为鸿蒙全程,华为2020年全线启用鸿蒙系统
  10. rabbitmq php类库,RabbitMQ客户端的PHP库
  11. Python 狠甩 Java,Rust 持续称王!揭晓Stack Overflow 2019 开发者报告
  12. matlab 函数整理(资料备份儿)
  13. 得到 jason中 string 的值_简单高性能的Json解析器: Jason
  14. JESD 样本量 选择 可靠性 45 77样本量
  15. Forward(请求转发)和Redirect(重定向)的比较
  16. java学习(一)概述
  17. 行走在投资界的程序员:千淘资本合伙人李华兵
  18. 商用室内机器人才是未来机器人开发的热点与趋势
  19. OCA/OCP Oracle 数据库12c考试指南读书笔记:第3章: Installing Oracle Grid Infrastructure for a Stand-Alone Server
  20. 全国计算机竞赛保送清华,保送清华北大,带你看看信息学奥林匹克竞赛的魅力...

热门文章

  1. web项目启动时 初始化加载系统参数 获取无法自动注入的服务
  2. Ecshop购物流程结算步骤 显示商品缩略图
  3. AspNetPager免费开源分页控件7.4.1版发布
  4. 深入剖析SolrCloud(二)
  5. 基于SSH实现医院在线挂号系统
  6. Scala字符串输出、键盘输入和文件操作
  7. vue-router使用入门
  8. Java中谈尾递归--尾递归和垃圾回收的比较
  9. keepalived高可用集群。
  10. getHibernateTemplate()的用法 (转)