列举了四种用法,分别是默认降序、内置的greater升序、重载<运算符、仿函数。

#include <cstdio>
#include <cstring>
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <queue>
#include <algorithm>
using namespace std;
using LL = long long;
const int inf = 0x3f3f3f3f;
struct node
{node(int i) { v = i; }int v;bool operator < (const node & n) const { return v < n.v; } // 实际上是给定优先级,这里意味着降序,跟sort是相反的
};struct cmp
{bool operator()(const node & a, const node & b) const { return a.v > b.v; } // 这是升序,小顶堆
};
int main()
{srand((unsigned int) time(0));priority_queue<int> pq; // 默认是大顶堆,降序//priority_queue<int, vector<int>, greater<int> > pq; // 小顶堆,第三个参数是仿函数// 自定义类型有两种方法//priority_queue<node> pq; // 重载小于号//priority_queue<node, vector<node>, cmp> pq; // 仿函数// 随机插入10个for (int i = 0; i < 10; i++){pq.push(rand() % 100);}// 打印while (!pq.empty()){cout << pq.top() << endl;//前两种//cout << pq.top().v << endl;//后两种pq.pop();}return 0;
}

C++ priority_queue用法相关推荐

  1. 优先队列priority_queue 用法详解

    优先队列priority_queue 用法详解 优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序 每次的push和pop操作,队列都会动态的调整,以达 ...

  2. ural 1306. Sequence Median(优先级队列 priority_queue用法)

    最近做的ural的题目总是各种错,看了解题报告都是自己没学过的玩意,有点受打击,不过ural的题目质量还是挺好的,多被虐虐有益健康. 这一题要是用数组直接超内存,用优先级队列做,刚接触这个,学习一下优 ...

  3. priority_queue 用法总结

    今天在写堆和哈夫曼树的ACM题的时候,接触到priority_queue的用法,由于比较函数的难些,请教过队内的红薯和杨大牛后才稍微弄明白些,下面总结如下,首先我是用手写的堆来过题的,其实和照黑书指导 ...

  4. 用法 stl_【c++】STL里的priority_queue用法总结

    https://blog.csdn.net/xiaoquantouer/article/details/52015928 1.头文件 #include<queue> 2.定义 priori ...

  5. 【转】c++优先队列(priority_queue)用法详解

    既然是队列那么先要包含头文件#include <queue>, 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队 优先队列具有队列的所有特性, ...

  6. c++优先队列(priority_queue)用法详解

    既然是队列那么先要包含头文件#include <queue>, 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队 优先队列具有队列的所有特性, ...

  7. C++ 常用容器成员函数用法总结

    C++ 常用容器成员函数用法总结 C++ 常用容器成员函数用法总结 简介 迭代器 简介 array: 静态数组 简介 构造函数 访问 / 赋值 迭代器 下标 / at 批量赋值 swap (交换函数) ...

  8. Leetcode 703. 数据流中的第K大元素 解题思路及C++实现

    解题思路: 使用一个最小堆来存储数据,在C++中,对应是#include<queue>头文件中的priority_queue. 程序逻辑:KthLargest类初始化的时候,先根据nums ...

  9. C++ STL 一般总结

    以下内容来源网上 经过整合而成 一.一般介绍 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程序库(C++ ...

最新文章

  1. Ubuntu 16.04 LTS界面美化
  2. eol自动化测试系统监控软件,整车EOL诊断系统
  3. 老师学python可以干嘛-Python除了爬虫,还能干啥?
  4. 解密所有APP运行过程中的内部逻辑
  5. python英文高频句统计_使用Python 统计高频字数的方法
  6. 【算法】剑指 Offer 30. 包含min函数的栈
  7. php操作cookie_php设置cookie【三种方案】
  8. 用命令行查看mysql,利用命令行查看Mysql数据库
  9. 蓝牙厂商代码与公司对应列表
  10. 人工智能实验1-波士顿房价预测
  11. ArcMap导入Excel数据显示没有注册类
  12. ARIMA模型实例讲解:时间序列预测需要多少历史数据?
  13. linux重做系统分区,如何重装linux系统
  14. [配置文件]_start.wzd
  15. Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backs
  16. 最小二乘拟合多项式(利用构造正交多项式的方法)C++
  17. python 列表 元祖_Python_列表与元祖
  18. java开发工程师的晋升路径_Java开发工程师职业发展及晋升路线图
  19. 传智教育|Java目前市场趋势怎么样?Java还能火多久?
  20. CVPR2018: Generative Image Inpainting with Contextual Attention 论文翻译、解读

热门文章

  1. java标点符号用什么意思_java怎么统计字符串内的标点符号?
  2. java实现最长连续子序列_Java实现O(n)最大连续子序列和 | 学步园
  3. 干粉灭火器的维护保养
  4. DL之CNN:卷积神经网络算法简介之原理简介——CNN网络的3D可视化(LeNet-5为例可视化)
  5. TF之RNN:TF的RNN中的常用的两种定义scope的方式get_variable和Variable
  6. 成功解决 shape = predictor(img, dets[0]) IndexError: Index out of range
  7. ML之LoRSGD:基于LoR(逻辑回归)、SGD梯度下降算法对乳腺癌肿瘤(10+1)进行二分类预测(良/恶性)
  8. Matlab中解决出现的错误使用 svmtrain (line 234) Y must be a vector or a character array.问题
  9. Keras: 多输入及混合数据输入的神经网络模型
  10. Python封装发送信息到钉钉群