【pair】C++ 数据结构 pair

本文介绍了C++中的pair数据结构,它用于将两个数据项组合在一起,方便存储和操作。pair可以拥有不同的数据类型,并且可以通过first和second访问其元素。在比较pair时,会按字典序比较两个元素。pair在函数返回多个结果或存储关联数据时非常实用。

一个特别的数据结构,在合适的条件下会很好用哦~


pair是什么?

我查了很多地方,都没找到pair的中文名,大家都是直接叫它pair。顾名思义,pair就是一对、一双的意思,实际上它的作用也就是把两个数据合成一个数据。可以用来存储像是二维坐标这种关联性很高的数据,就不用再开辟一个长度为2的数组了。我之前还见到过大佬在一个函数中用pair来返回2个结果,我直呼妙啊!


1. 定义与赋值

pair的两个元素可以属于不同数据类型,甚至可以是vector。

pair<T1, T2> p1; //创建一个空的pair对象(使用默认构造),它的两个元素分别是T1和T2类型,采用值初始化
p1 = make_pair(v1, v2); //给两个元素分别赋值v1和v2,make_pair用来生成新的pair对象
pair<T1, T2> p2(v1, v2); //创建一个pair对象,它的两个元素分别是T1和T2类型,值分别为v1和v2
pair<T1, T2> p3(p1); //拷贝构造

2. 访问与比较

通过first和second来访问pair的两个元素。

pair<string,int> p("hello",1);
cout<<p.first<<" "<<p.second;

两个pair的比较遵循字典序,是依次比较两个元素得到的。也就是说先比较p1.first和p2.first,如果相等,再比较p1.second和p2.second。

pair<string,int> p1(hello,1);
pair<string,int> p2(hallo,1);
pair<string,int> p3(hello,2);  -> p2 < p1 < p3

总结

没了,是不是很简单0v0
虽然没多少东西,但是用的时候确实好用哈哈哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值