文章目录
一、什么是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]