STL中pair容器的用法
1、定义pair容器
1 pair <int, int> p, p1;
2 //定义 [int,int] 型容器
//直接初始化了p的内容
pair<string,int>p(1,5);
定义一个pair类型数组
pair<int,int> p1[maxn]
2、交换函数
//p和p1都是pair容器
p.swap(p1);//交换两个容器的内容
//例: p={1,2}, p1={3,4}
//运行之后, p={3,4}, p1={1,2}
3、访问pair容器中的值
1 p.first;//返回 p 的第一个内容
2 p.second;//返回 p 的第二个内容
3 //例: p={1,2}
4 //则 p.first=1; p.second=2;
4、比较大小
两个pair类型数据可以直接使用=、!=、<、<=、>、>=比较大小
比较规则是先以first的大小作为标准,只有当first相等时采取判别second的大小
5、向pair数组里面插入值
1 map<string,int> mp;
2
3 mp.insert(make_pair("heihei",5));
4
5 mp.insert(pair<string,int>("haha",10));
pair<int,int> p1[maxn];
p1[i]= {1,2};
6、排序
pair<int,int> p1[maxn];
sort(p1+1,p1+1+n);
//对pair区间[1,n]排序
7、遍历
for(int i=1; i<=n; i++)
{
if(p1[i]!=p2[i])
{
过程代码;
}
}
for(map<string, int>::iterator it=p1.begin();it!=p1.end();it++)
{
cout<<it->first<<" "<<it->second<<endl;
}
STL中pair容器的用法的更多相关文章
- (转载)C++STL中vector容器的用法
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vec ...
- C++ STL 中 map 容器
C++ STL 中 map 容器 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它 ...
- STL中的Vector相关用法
STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...
- STL中的容器介绍
STL中的容器主要包括序列容器.关联容器.无序关联容器等. 一]序列容器 (1) vector vector 是数组的一种类表示,提供自动管理内存的功能,除非其他类型容器有更好满足程序的要求,否则,我 ...
- [C++]STL中的容器
C++11 STL中的容器 一.顺序容器: vector:可变大小数组: deque:双端队列: list:双向链表: forward_list:单向链表: array:固定大小数组: string: ...
- STL中的容器
STL中的容器 一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist ...
- 算法求解中的变量、数组与数据结构(STL 中的容器)
本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊.算法是演员,变量.数组.容器等就是舞台, 然后整个算法的处理流程,都是针对这些数据 ...
- C++ STL中常见容器的时间复杂度和比较和分析
C++ STL中常见容器的时间复杂度 map, set, multimap, and multiset 上述四种容器采用红黑树实现,红黑树是平衡二叉树的一种.不同操作的时间复杂度近似为: 插入: O( ...
- C++ STL中的 Set的用法
https://blog.csdn.net/yas12345678/article/details/52601454 -----源头此处 1.关于set的概念 set 是STL中的集合. 集合 ...
随机推荐
- 【C++】《C++ Primer 》第五章
第五章 语句 一.简单语句 表达式语句:一个表达式末尾加上分号,就变成了表达式语句. 空语句:只有一个单独的分号,记得注释说明提高代码可读性. 复合语句(块):用花括号 {}包裹起来的语句和声明的序列 ...
- PAT甲级 Perfect Sequence (25) 记忆化搜索
题目分析: 意思是要求对于一个给出的数组,我们在其中尽可能多选数字,使得所选数字的max <= min * p,而由于数据量较大直接二层循环不加优化实现是不现实的,由题意得知,对于数字序列的子序 ...
- Lniux 入门:03 用户及文件权限管理
1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 通过第一节课程的学习,你应该已经知道, ...
- Nginx(四):http服务器静态文件查找的实现
上一篇nginx的文章中,我们理解了整个http正向代理的运行流程原理,主要就是事件机制接入,header解析,body解析,然后遍历各种checker,直到处理成功为止. 我们以访问一个普通文件为例 ...
- kubernets之服务资源
一 服务集群内部或者客户端与pod的通信桥梁 kubernets集群的内部pod访问为啥不能使用传统的IP:PORT的形式? pod是短暂的,它们会随时启动或者关闭,原因可能是pod所在的节点下 ...
- 【九阳神功】Nessus 8_VM不限IP及AWVS破解版合体部署
Nessus 8下载地址: https://moehu-my.sharepoint.com/personal/ximcx_moebi_org/_layouts/15/download.aspx?Sou ...
- Eclipse中的可视化图形界面设计插件windowbuilder
对于eclipse平台上的可视化开发工具插件,有windowbuilder.visual editor等,今天就对windowbuilder说明: WindowBuilder功能特性等介绍,参考如下网 ...
- sap alv grid 中的delete按键问题
今天发先一个问题,在使用ALV输出的时候,如果有字段设置为可编辑状态,则会在前面出现选择条,并且,当我们选择一行或者多行的时候,可以用键盘上的DELETE键将行删除!呵呵
- Python爬虫:数据分析小能手:JSON库的用法
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 给大家推荐一个Python交流的q裙,大家在学习遇到了什么问题都可以进群一起交流,大家 ...
- JVM(二)类加载的时机及其过程
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的的整个生命周期包括: 加载(Loading),验证(Verification),准备(Preparation),解析(Resolution),初始化 ...