首页 / 算法 / 算法笔记--标准模板库STL--pair
算法笔记--标准模板库STL--pair
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了算法笔记--标准模板库STL--pair,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2072字,纯文字阅读大概需要3分钟。
内容图文
![算法笔记--标准模板库STL--pair](/upload/InfoBanner/zyjiaocheng/1166/ea1db614a4bb4f7c931b652d99e6744a.jpg)
pair的常见用法
pair是一个很实用的“小玩意”,当想要将两个元素绑在一起作为一个合成元素、又不想要因此定义结构体时,使用pair可以很方便地作为一个代替品。也就是说,pair实际上可以看作一个内部有 两个元素的结构体,且这两个元素的类型是可以指定的,如下面的短代码所示:
struct pair{
typeName1 first;
typeName2 second;
}
pair的定义
头文件
#include<utility>
using namespace std;
因为实现map时候已经使用了pair,所以记不住utility
时,可以使用map的头文件
定义
pair<typeName1, typeName2> name;
pair<string, int> p;
如果想在定义pair时进行初始化,只需要跟上一个小括号
pair<string, int> p("gqq", 5);
如果想在代码中构建临时的
pair,有以下两种方法:
- 将类型定义写在前面,后面用小括号内两个元素的方式
pair<string, int>("gqq", 5);
- 使用自带的
make_pair函数
make_pair("gqq", 5);
pair中的元素访问
pair中只有两个元素,分别为first和second,只需要安装正常结构体的方式访问即可
#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main(){
pair<string, int> p;
p.first = "zgq";
p.second = 5;
cout << p.first << " " << p.second << endl;
p = make_pair("yzy", 55);
cout << p.first << " " << p.second << endl;
p = pair<string, int>("wjy", 555);
cout << p.first << " " << p.second << endl;
return 0;
}
zgq 5
yzy 55
wjy 555
pair常用函数
比较操作数
两个pair类型数据可以直接用
==、!=、<、<=、>、>=
比较大小,比较规则是先以first的大小作为标准,只有当first相等时才去判断second的大小
#include<iostream>
#include<utility>
#include<string>
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) printf("p1 < p3\n");
if(p1 <= p3) printf("p1 <= p3\n");
if(p1 < p2) printf("p1 < p2\n");
return 0;
}
p1 < p3
p1 <= p3
p1 < p2
pair的常见用途
- 用来代替二元结构体及其构造函数,可以节省编码时间
- 作为map的键值对来进行插入
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main(){
map<string, int> mp;
mp.insert(make_pair("gqq", 5));
mp.insert(pair<string, int>("yzy", 10));
for(map<string, int>::iterator it = mp.begin(); it != mp.end(); it++){
cout << it -> first << " " << it -> second << endl;
}
return 0;
}
gqq 5
yzy 10
Write by Gqq
原文:https://www.cnblogs.com/zgqcn/p/12590908.html
内容总结
以上是互联网集市为您收集整理的算法笔记--标准模板库STL--pair全部内容,希望文章能够帮你解决算法笔记--标准模板库STL--pair所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。