优先队列也是用 #include<queue> 这个头文件,且不必引入vector的头文件

基础类型优先级设置

默认定义:

  • priority_queue<int> 大顶堆

手工设置:

  • priority_queue<int, vector<int>, less<int>> 大顶堆:表示其他都比堆顶
  • priority_queue<int, vector<int>, greater<int>> 小顶堆:表示其他都比堆顶

后面补充的两个参数:

  • 内部用容器
  • 规则

既然默认是大顶堆,所以手动设置时只用管小顶堆即可,greater!.

#include <cstdio>
// #include <vector>
#include <queue>using namespace std;int main()
{priority_queue<int, vector<int>, greater<int>> q;q.push(3);q.push(2);q.push(1);printf("%d\n", q.top());return 0;
}

结构体设置优先级:

只可在结构体内部重载小于号

两种重置用法:

  • 运算符重载 + 友元
struct fruit
{string name;double price;friend bool operator< (fruit f1, fruit f2){return f1.price < f2.price; // 相当于less,这是大顶堆,反之则是小顶堆}
} f1, f2, f3; //定义三个结构体变量

这样直接可以:priority_queue<fruit > q;

  • 比较运算符外置
struct fruit
{string name;double price;
} f1, f2, f3; //定义三个结构体变量struct cmp
{bool operator() (fruit f1, fruit f2) // 重载括号{return f1.price < f2.price; // 等同于less}
};

调用语法是:priority_queue<fruit,vector<fruit> , cmp > q;

这个和基本类型的用法就相似了,只不过是用cmp代替了less或者greater.

2019.2.19 updates.

END.

优先队列的优先级设置法相关推荐

  1. 邮件发送类,支持HTML格式,支持优先级设置

    www.chinacs.net  2002-5-9  中文C#技术站 邮件发送类,支持HTML格式,支持优先级设置.通过SOCKET类实现的 using System; using System.Te ...

  2. linux设置进程优先级,Linux线程属性及优先级设置

    POSIX.1线程属性及优先级设置 By zieckey All Right Reserved 线程的属性由pthread_attr_t结构类型表示. 在使用pthread_attr_t之前,需要调用 ...

  3. cortex M内核优先级设置

    Cortex M内核中 每个中断都有一个8位的优先级设置寄存器 这个8位的寄存器可以分为抢占优先级和子优先级两个部分(通过设置优先级组设置) 抢占优先级和子优先级有什么用? 举例说明: 有两个中断A. ...

  4. linux线程调度函数,Linux调度策略及线程优先级设置

    Linux内核的三种调度策略: 1,SCHED_OTHER 分时调度策略, 2,SCHED_FIFO实时调度策略,先到先服务.一旦占用cpu则一直运行.一直运行直到有更高优先级任务到达或自己放弃 3, ...

  5. Android线程优先级设置方法技巧

    对于Android平台上的线程优先级设置来说可以处理很多并发线程的阻塞问题, 比如很多无关紧要的线程会占用大量的CPU时间,虽然通过了MultiThread来解决慢速I/O但是合理分配优先级对于并发编 ...

  6. Java 线程实例一(查看线程是否存活、获取当前线程名称、状态监测、线程优先级设置、死锁及解决方法、获取线程id、线程挂起)

    查看线程是否存活 以下实例演示了如何通过继承 Thread 类并使用 isAlive() 方法来检测一个线程是否存活: public class TwoThreadAlive extends Thre ...

  7. MUI 宫格组件(grid)怎么取消mui-active背景色?(优先级设置问题)- 踩坑篇

    MUI 宫格组件(grid)怎么取消mui-active背景色?(优先级设置问题) 对比 · 截图如下: 踩坑总结 · 点击取消效果 · 举例: 优先级: background > backgr ...

  8. 进程的优先级设置与获取,进程时间

    进程的优先级设置与获取:值越小优先级越高        #include <sys/time.h>        #include <sys/resource.h>       ...

  9. Linux线程属性及优先级设置

    Linux线程属性及优先级设置 [原文引自]http://hikesoso2010.spaces.eepw.com.cn/articles/article/item/86413# 线程的属性由pthr ...

最新文章

  1. Docker for Windows 使用 VMware WorkStation
  2. mysql自定义多选排序_前端框架(二)DIV多选复选框框的封装和MySql数据库存取...
  3. 阿里云mariadb无法启动问题
  4. leetcode239. 滑动窗口最大值
  5. layer 线上_LAYER
  6. php怎么构造一个验证码,PHP封装一个生成验证码的函数
  7. dataframe一列按长度补0_Pandas中Series和DataFrame基础功能详解
  8. 「代码随想录」968.监控二叉树【贪心算法】力扣详解!
  9. java unicodeblock_Character.UnicodeBlock中cjk的说明详解
  10. 驾驶员监控系统 DMS
  11. 单词拼写检查之cutoff距离
  12. matlab识别中国象棋棋盘,c – 使用OpenCV在棋盘中检测中国象棋棋子
  13. 2018年年度总结-工作成长
  14. LeetCode - Trangle
  15. matlab导入word数据,matlab导入word
  16. LabVIEW控制Arduino采集DHT11温湿度数值(进阶篇—4)
  17. Wordpress 修改 mysql 插件_WordPress批量查找替换修改文章内容的插件和代码
  18. dcdc降压电路基本原理及设计实例
  19. 人工智能之机器学习简介
  20. python的学习笔记案例1--汇率兑换4.0

热门文章

  1. yolov3从头实现(四)-- darknet53网络tf.keras搭建
  2. 仿射解密c语言程序实验报告,仿射加密解密 - 依姆哣特的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. select 实现类似多线程_linux进程通信--socket套接字(四)--多路IO转实现一个server对应多个client...
  4. windos 服务怎么写_我的产品或服务怎么写?
  5. linux安装cd dev ls,linux 第一节 安装
  6. inno setup安装之前关闭mysql_innosetup安装之前关闭进程
  7. 父元素浮动子元素会浮动吗_为什么quot;overflow:hiddenquot;能清除浮动的影响
  8. java clone 深拷贝_Java clone() 浅拷贝 深拷贝
  9. java静态类_Java静态类
  10. 使用Shell和Java驱动程序的MongoDB身份验证配置示例