一个特别的数据结构,在合适的条件下会很好用哦~
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
虽然没多少东西,但是用的时候确实好用哈哈哈。
本文介绍了C++中的pair数据结构,它用于将两个数据项组合在一起,方便存储和操作。pair可以拥有不同的数据类型,并且可以通过first和second访问其元素。在比较pair时,会按字典序比较两个元素。pair在函数返回多个结果或存储关联数据时非常实用。
770

被折叠的 条评论
为什么被折叠?



