当类型为pair时priority该如何建立

简介: 本文讲述了acm竞赛中如何方便的使用优先队列的建立,以及当类型是pair是该如何建立,目的记录学习,交流思路,互相促进

优先队列的定义:priority_queue<Type, Container, Functional>
注意:当两个或两个以上的尖括号连在一起时中间要加上空格分开不然会认成左移或者右移出现报错

//升序队列
priority_queue <int,vector<int>,greater<int> > q;
//降序队列
priority_queue <int,vector<int>,less<int> > q;
//这里面的升序和降序分别是这样的
int a=1;
int b=2;
int c=3;
priority_queue <int,vector<int>,greater<int> > q;
q.push(b);
q.push(c);
q.push(a);
//这样定义是升序,输出的结果就是
//1 2 3
//相反 less就是
//3 2 1
priority_queue <int> q;
//如果这样定义
//就默认是
priority_queue <int,vector<int>,less<int> > q;

用pair是先比较第一个元素,第一个相等比较第二个元素

//升序队列
priority_queue< pair<int,int> ,vector<pair<int,int> >,greater<pair<int,int> > > q;
//降序队列
priority_queue< pair<int,int> ,vector<pair<int,int> >,less<pair<int,int> > >  q;

pair可以同时定义两个类型相同或不同的元素

pair<数据类型,数据类型>PII;
PII a(1,2);
//a.first就是1
//a.second就是2
相关文章
|
6月前
|
存储 算法 搜索推荐
pari使用-pair对徂酌创建讲解
pari使用-pair对徂酌创建讲解
48 1
|
5月前
|
存储 运维 网络协议
CloudStack 中 op_host_capacity 表中的 capacity_type 取值详解
CloudStack 中 op_host_capacity 表中的 capacity_type 取值详解
|
5月前
|
容器
C++11 列表初始化(initializer_list),pair
C++11 列表初始化(initializer_list),pair
|
网络虚拟化 网络架构
dis ip int brief命令的作用是什么?
dis ip int brief命令通常是指在设备上查看路由器或交换机接口的摘要信息。这个命令的目的是显示设备上所有接口的基本信息,包括接口的状态、IP地址、协议等。
|
6月前
|
XML 数据格式
节点类型(Node Types)
该教程介绍了XML文档的根节点通过documentElement属性获取,节点信息包括nodeName(节点名)和nodeType(节点类型)。下一章将深入探讨节点属性。示例代码展示了如何遍历根节点的子节点,仅输出元素节点的名称,通过检查nodeType为1来判断是否为元素节点。
|
C++ Python 容器
C++中pair用法
⭐pair的简介 pair是C++STL(标准模板库)中的一个现有容器,它将2个数据整合成一组数据,当我们类似需求的时候就可以使用到pair啦!pair其实有点像Python中字典中的键值对(Key-Value),一个Key对应着一个Value。pair的本质其实就是个结构体,它含有两个成员变量first和second。因为使用的是struct不是class,所以在定义后是可以直接使用pair中的成员变量的。 其标准库类型–pair类型定义在#include< utility > 头文件中
362 0
|
存储 Perl
Verilog读书笔记---数据类型、系统任务、`define、parameter、localparam三者的区别
Verilog读书笔记---数据类型、系统任务、`define、parameter、localparam三者的区别
669 0
Verilog读书笔记---数据类型、系统任务、`define、parameter、localparam三者的区别
【SV 基础】queue 的一些用法
【SV 基础】queue 的一些用法
1622 0
|
C++ 容器
queue以及使用举例--C++基础
queue以及使用举例--C++基础
122 0
queue以及使用举例--C++基础