cb05a_c++_STL优先级队列priority_queue_less_greater
/*cb05a_c++_STL优先级队列priority_queue
自适应容器(容器适配器):不能使用list,list不能使用随机操作
最大值优先级队列,
//把数据放在队列里面是,最大的始终都是放在最前面。
最小值优先级队列
//把数据放在队列里面是,最小的始终都是放在最前面。
优先级队列适配器,STL priority_queue
priority_queue<int,deque<int>> pq;
priority_queue<int,vector<int>> pq;
priority_queue<int, vector<int>> pq;//默认最大值优先级,它的谓词是less<int>,如:priority_queue<int,vector<int>,less<int>> pq1,大到小
priority_queue<int, deque<int>,greater<int>> pq2; //最小值优先级,greater<int>谓词,小到大
pq.empty();
pq.size();
pq.top();
pq.pop();
pq.push(item);
*/
/*cb05a_c++_STL优先级队列priority_queue
自适应容器(容器适配器):不能使用list,list不能使用随机操作
最大值优先级队列,
//把数据放在队列里面是,最大的始终都是放在最前面。
最小值优先级队列
//把数据放在队列里面是,最小的始终都是放在最前面。
优先级队列适配器,STL priority_queue
priority_queue<int,deque<int>> pq;
priority_queue<int,vector<int>> pq; priority_queue<int, vector<int>> pq;//默认最大值优先级,它的谓词是nice?next?
priority_queue<int, deque<int>,greater<int>> pq2; //最小值优先级,greater<int>谓词 pq.empty();
pq.size();
pq.top();
pq.pop();
pq.push(item);
*/
#include <iostream>
#include <vector>
#include <queue>//最大最小优先级都在这个头文件里面的 using namespace std; int main()
{
priority_queue<int, vector<int>> pq;//默认最大值优先级,它的谓词是less<int>如:priority_queue<int,vector<int>,less<int>> pq1;
priority_queue<int, deque<int>,greater<int>> pq2; //最小值优先级,它的谓词是greater<int> priority_queue<int> pq3;//默认是适配vector pq3.push();
pq3.push();
pq3.push();
cout << "优先级队列里面有多少个数据呢: "<<pq3.size() << endl;
cout << pq3.top() << endl;
while (!pq3.empty())
{
cout << "从优先级队列里面删除: " << pq3.top() << endl;
pq3.pop(); //从最前面的数据开始删除,总是删除的最大的数据。
} pq2.push();
pq2.push();
pq2.push();
cout << "最小优先级队列里面有多少个数据呢: " << pq2.size() << endl;
cout << pq2.top() << endl; return ;
}
cb05a_c++_STL优先级队列priority_queue_less_greater的更多相关文章
- 体验Rabbitmq强大的【优先级队列】之轻松面对现实业务场景
说到队列的话,大家一定不会陌生,但是扯到优先级队列的话,还是有一部分同学是不清楚的,可能是不知道怎么去实现吧,其实呢,,,这东西已 经烂大街了...很简单,用“堆”去实现的,在我们系统中有一个订单催付 ...
- Java中的队列Queue,优先级队列PriorityQueue
队列Queue 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作.该接口扩展了java.util.Collection接口. Queue使用时要尽量避免Collecti ...
- 如何基于RabbitMQ实现优先级队列
概述 由于种种原因,RabbitMQ到目前为止,官方还没有实现优先级队列,只实现了Consumer的优先级处理. 但是,迫于种种原因,应用层面上又需要优先级队列,因此需求来了:如何为RabbitMQ加 ...
- ACM/ICPC 之 优先级队列+设置IO缓存区(TSH OJ-Schedule(任务调度))
一个裸的优先级队列(最大堆)题,但也有其他普通队列的做法.这道题我做了两天,结果发现是输入输出太过频繁,一直只能A掉55%的数据,其他都是TLE,如果将输入输出的数据放入缓存区,然后满区输出,可以将I ...
- java中PriorityQueue优先级队列使用方法
优先级队列是不同于先进先出队列的另一种队列.每次从队列中取出的是具有最高优先权的元素. PriorityQueue是从JDK1.5开始提供的新的数据结构接口. 如果不提供Comparator的话,优先 ...
- stl的优先级队列
#include <iostream> #include <vector> #include <queue> using namespace std; class ...
- 【python cookbook】【数据结构与算法】5.实现优先级队列
问题:要实现一个队列,它能够以给定的优先级对元素排序,且每次pop操作时都会返回优先级最高的那个元素: 解决方案:采用heapq模块实现一个简单的优先级队列 # example.py # # Exam ...
- POJ 2227 The Wedding Juicer (优先级队列+bfs+dfs)
思路描述来自:http://hi.baidu.com/perfectcai_/item/701f2efa460cedcb0dd1c820也可以参考黑书P89的积水. 题意:Farmer John有一个 ...
- 《Java数据结构与算法》笔记-CH4-6优先级队列
/** * 优先级队列 * 效率:插入O(n),删除O(1).第12章介绍如何通过堆来改进insert时间 */ class PriorityQueue { private int maxSize; ...
随机推荐
- Java程序员的两项通用能力
工作这几年来,经历了很多.从小白到中级(手机里有一款叫中国象棋的游戏,里面给对弈中电脑水平分为小白.菜鸟.新手.入门.初级.中级.高级.大师.特级大师,编程我暂且按照这样来区分). 学校教给我的是从小 ...
- 【QT】利用pyqt5实现简单界面
Topic: 利用pyqt5编写简单界面Env:win10 + Pycharm2018 + Python 3.6.8Date: 2019/4/29 by hw_Chen2018 ...
- 关于Backus-Naur Form巴克斯诺尔范式和扩展巴克斯范式的知识点和相关词语中英文对照
巴克斯诺尔范式的相关词语中英文对照和知识点 syntax 语法 强调的是编程语言的组形式,例如一个句子中会包含表达式.陈述还有各种单元等等 semantics 语义 强调的是这个编程语言的实际含义,例 ...
- Rocket - util - Misc
https://mp.weixin.qq.com/s/kf4FvAFye_bRdT49Yow7Hg 简单介绍Misc中各个辅助方法的用途和实现. 1. ParameterizedBu ...
- Spring ( 二 ) IOC 依赖注入
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.什么是IOC IOC 全称指的是 Inverse Of Control 控制反转. 原来我们使用Sp ...
- Java实现 LeetCode 583 两个字符串的删除操作(求最长公共子序列问题)
583. 两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例: 输入: " ...
- Java实现 蓝桥杯VIP 算法训练 字符删除
算法训练 字符删除 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的c ...
- Java实现 LeetCode 45 跳跃游戏 II(二)
45. 跳跃游戏 II 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [ ...
- java实现 洛谷 P1017 进制转换
import java.util.Scanner; public class Main { private static Scanner cin; public static void main(St ...
- Java学习之斐波那契数列实现
描述 一个斐波那契序列,F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2) (n>=2),根据n的值,计算斐波那契数F(n),其中0≤n≤1000. 输入 输入 ...