map和pair的配合使用
map和pair的配合使用
一、map和pair简介 可以简单的理解为如下:map可以当做一个容器(装载具有一定格式的数据);pair可以理解为元素(放入到容器的的一个个个体),发现pair并没有单独行动的典型用法,正常都是配合map来使用(即把pair这个元素插入到map这个容器里面) 二、示例讲解 typedef std::map<int, char *> Container; // int为map的键值(对应值first),char为map的值(对应于成员变量second) typedef std::pair<int, char *> Element; int _tmain(int argc, _TCHAR* argv[]) { Container container; // 定义map容器类实例 for (int nIndex = 0;nIndex < 10; nIndex ++) { char * p = new char[16]; sprintf(p,"element %d \0",nIndex); Element element(nIndex,p); // 定义pair类实例 container.insert(element); // 把元素插入到map容器里面 } // 查找键值为1的元素 Container::const_iterator ptr = NULL; ptr = container.find(1); if (ptr != container.end()) { printf("find key 1 \n"); } // 枚举map容器的元素 Container::iterator begin = container.begin(); while(begin != container.end()) { printf("%d element value :%s\n",(*begin).first,(*begin).second); delete [] (*begin).second; (*begin).second = NULL; begin ++; } return 0; } 输出如下: find key 1 0 element value :element 0 1 element value :element 1 2 element value :element 2 3 element value :element 3 4 element value :element 4 5 element value :element 5 6 element value :element 6 7 element value :element 7 8 element value :element 8 9 element value :element 9 三、附上map的相应的接口说明 begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末尾的迭代器 equal_range() 返回特殊条目的迭代器对 erase() 删除一个元素 find() 查找一个元素 get_allocator() 返回map的配置器 insert() 插入元素 key_comp() 返回比较元素key的函数 lower_bound() 返回键值>=给定元素的第一个位置 max_size() 返回可以容纳的最大元素个数 rbegin() 返回一个指向map尾部的逆向迭代器 rend() 返回一个指向map头部的逆向迭代器 size() 返回map中元素的个数 swap() 交换两个map upper_bound() 返回键值>给定元素的第一个位置 value_comp() 返回比较元素value的函数 |
map和pair的配合使用相关推荐
- map和pair配合使用
一.map和pair简介 可以简单的理解为如下:map可以当做一个容器(装载具有一定格式的数据):pair可以理解为元素(放入到容器的的一个个个体),发现pair并没有单独行动的典型用法,正常都是配合 ...
- STL容器-Map and Pair(一)
map介绍: 1.map翻译为映射,是STL中的常用容器也是STL的一个关联容器,它提供一对一的数据处理能力.什么是一对一的数据处理能力呢,像我们查字典,我们可以从开头处找到这个单词对应的页数,从而通 ...
- C++标准模板库之map及pair
一 map翻译为映射.众所周知,在定义数组时(如int array[100]),其实是定义了一个从int型到int型的映射,比如array[0]=25就是将0映射到25,一个double型数组则是将i ...
- C++:map和pair
map是STL的一个关联容器,它提供一对一(其中第一个称为关键字,每个关键字只能在map中出现一次,第二个称为该关键字的值)的数据处理能力. map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树) ...
- C++ map()和pair()用法
#include <map> #include <iostream> using namespace std; int main( ) {map<int, int> ...
- 寒假训练十(map,pair,string)2020.02.17(4题)
寒假训练十(map) id:535 Problem:A 保龄球-map Description DL 算缘分算得很烦闷,所以常常到体育馆去打保龄球解闷.因为他保龄球已经打了几十年了,所以技术上不成问题 ...
- 聊天止于呵呵------使用的map<pair<string,string>,int> m;
这题第一次遇到的时候,用的模拟写出来了.其中用到了 map<pair<string,string>,int> 类型. 在学校OJ上写的这道题:传送门 样例: 输入: A-> ...
- 面试中常被问到(25)map和pair区别
1,pair的类型:pair是一种模版类型.每个pair 可以存储两个值.这两种值的类型没有限制,也可以自定义类型. 2.pair 应用:如果一个函数有两个返回值的话,如果是相同类型,就可以用数组返回 ...
- 老卫带你学---C++中map与pair的区别
1.pair的类型:pair是一种模版类型.每个pair 可以存储两个值.这两种值的类型没有限制,也可以将自己写的类放进去. 2.pair 应用:如果一个函数有两个返回值的话,如果是相同类型,就可以用 ...
最新文章
- 《当代 95 后の北上广出逃计划》
- Arrays常见用法
- oracle 察看用户是否被锁,解锁以及改密码
- android socket 闪退,android客户端闪退
- 查看mysql运行的配置文件_MySQL 查看当前使用的配置文件my.cnf的方法
- MySQL_PHP学习笔记_2015_0614_PHP传参总结_URL传参_表单传参
- pytorch中IndexError: too many indices for tensor of dimension 0问题解释
- Unreal Engine 4 C++ UCLASS构造函数易出错分析
- 字符串排序算法 java_Java经典算法:重新排列字符串K
- 怎么在Windows系统中制作Mac系统U盘启动盘?
- 1×pbs缓冲液配方_pbs配方_1xpbs配方_pbs缓冲液配制
- 哪一类功率放大电路效率最高_多级放大电路
- (四)Kotlin加密/解密之RSA算法和数字签名
- Java文件操作、IO流
- 【文献阅读】Optimistic Bull or Pessimistic Bear: Adaptive Deep Reinforcement Learning for Stock Portfolio
- 从反脆弱角度谈技术系统的高可用性
- python 存储图片_使用python存储网页上的图片实例
- 让单身狗犹如过情人节的“网易云日推”原来是这样生成的
- 联想昭阳k43c-80 BIOS里UEFI是灰色项,改不了为legacy
- 通过XtraBackup进行数据库表备份和表空间传输实例