算法笔记6.8 小工具pair

版权声明:原创文章,转载请注明出处 https://blog.csdn.net/hza419763578/article/details/88420199

pair是一个很实用的小玩意

可以理解为一个写好的结构体 有两个成员,成员的类型由我们自己定

struct pair{
    type1 first;
    type2 second;
};

1.pair的定义

头文件#include<utility>或者直接#include<map>

pair<string,int> p;


pair<string,int> p("haha",5);

构建临时pair:
pair<string,int>("haha",5);
make_pair("haha",5);

2.pair中元素的访问

#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main(){
	pair<string,int> p;
	p.first="hahaha";
	p.second=5;
	cout<<p.first<<" "<<p.second<<endl;

	p=make_pair("xixi",55);
	cout<<p.first<<" "<<p.second<<endl;

	p=pair<string,int>("hehhe",555);
	cout<<p.first<<" "<<p.second<<endl;

	return 0;
}

3.pair常用函数实例解析

比较操作数

==  !=  <  >  <=  >=  直接用于pair  已经重载了,但是比较规则是优先比较first,相等然后才会比较second

#include<iostream>
#include<utility>
using namespace std;
int main(){
	pair<int,int> p1(5,10);
	pair<int,int> p2(5,15);
	pair<int,int> p3(10,5);

	if(p1<p3) cout<<"p1<p3"<<endl;
	if(p1<=p3) cout<<"p1<=p3"<<endl;
	if(p1<p2) cout<<"p1<p2"<<endl;

	return 0;
}

4.pair常见用途

可以作为map键值对插入

#include<iostream>
#include <map>
using namespace std;
int main(){
	map<string,int> mp;
	mp.insert(make_pair("tom",123));
	mp.insert(pair<string,int>("cat",456));
	for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++){
		cout<<it->first<<" "<<it->second<<endl;
	}
	return 0;
}

本节习题

猜你喜欢

转载自blog.csdn.net/hza419763578/article/details/88420199