摘自胡凡的《算法笔记》,仅作记录用!
前言:
- pair可以将两个元素绑在一起作为一个合成元素,
- 如果要使用pair,则需要添加utility头文件,即
#include<utility>
,除此之外,还需要添加using namespace std;
。注意,由于map的内部实现中涉及pair,就不需要额外再去添加utility头文件了。因此只需要添加头文件map即可
一、pair的定义
- pair有两个参数,分别对应first和second的数据类型,它们可以是任意基本数据类型或容器,可以使用
pair<typename1,typename2> name;
定义一个pair类型。 - 如果想要在定义pair时进行初始化,只需要跟上一个小括号,里面填写两个想要初始化的元素即可:
pair<string,int> p("haha",5);
- 如果想要在代码中令是构建一个pair,有如下两种方法:
- 将类型定义卸载前面,后面用小括号内两个元素的方式
pair<string,int>("haha",5);
- 使用自带的make_pair函数
make_pair("haha",5);
- 将类型定义卸载前面,后面用小括号内两个元素的方式
二、pair容器内元素的访问
- pair中只有两个元素,分别时first和second,只需要按正常结构体去访问即可。即p.first和p.second
三、pair常用函数
- 比较操作数:两个pair类型数据可以直接使用
==、!=、<、<=、>、>=
比较大小,比较规则是先以first的大小作为标准,只有当first相等时才去判别second的大小。
四、pair的常见用途
- 用来代替二元结构体及其构造函数,可以节省编码时间
- 作为map的键值对进行插入,如
mp.insert(make_pair("haha",5))
或mp.insert(pair<string,int>("haha",5))