文章目录
- 一、什么是pair
- 二、pair的操作
-
- 1.pair的定义
- 2.pair的输出
- 3.pair的赋值
-
- 法一
- 法二
- 4.pair的比较
一、什么是pair
pair是一个特别实用的“小玩意儿”,当我们想把两个元素捆绑在一起当成一个元素的时候,又不想定义结构体的时候,这个时候就可以使用pair,也就是说,pair实际上可以当成内部只有两个元素的结构体,且这两个元素的类型是可以指定的.
struct pair {
typename1 first;typename2 second;
};
要使用pair,要先添加#include <map>
,或者#include <utility>
,这里建议只需要记住前一个就ok了
二、pair的操作
1.pair的定义
pair有两个参数,分别对应first
和second
的数据类型,它们可以是任意基本数据结构类型或者容器
pair<typename1, typename2> name;
对pair的初始化:
pair<string, int> p("辰chen", 19);
2.pair的输出
pair的两个元素我们通过p.first
和p.second
输出
#include <iostream>
#include <map>using namespace std;int main()
{
pair<string, int> p("辰chen", 19);;cout << p.first << ' ' << p.second;return 0;
}
输出结果为:辰chen 19
3.pair的赋值
pair的赋值我们在这里介绍两种方法,更推荐掌握第一种(如果你的编译器可以正常编译的话)
法一
#include <iostream>
#include <map>using namespace std;int main()
{
pair<string, int> p;p = {
"辰chen", 19};cout << p.first << ' ' << p.second;return 0;
}
输出结果为:辰chen 19
法二
#include <iostream>
#include <map>using namespace std;int main()
{
pair<string, int> p;p = make_pair("辰chen", 19);cout << p.first << ' ' << p.second;return 0;
}
输出结果为:辰chen 19
4.pair的比较
两个pair
类型的数据进行比较的时候,比较规则是:先比较first的大小,只有当first的大小相等的时候才会去比较second
#include <iostream>
#include <map>using namespace std;int main()
{
pair<int, int> p[3];p[0] = {
5, 10};p[1] = {
5, 15};p[2] = {
10, 5};if (p[0] < p[2]) cout << "p[0] < p[2]" << endl;if (p[0] <= p[2]) cout << "p[0] <= p[2]" << endl;if (p[0] < p[1]) cout << "p[0] < p[1]" << endl;return 0;
}
输出结果:
p[0] < p[2]
p[0] <= p[2]
p[0] < p[1]