1、map,顾名思义就是地图。其实就是key,value的对应的映射。当需要快速的获取对应key的value的时候,就可以使用map了。例如一个人是有名字,但是这个人还有其他的属性,例如年龄,性别等等。这个人就会被封装为一个对象。如果有很多个人,我们需要快速的根据一个人的名字获取对应名字的对象,这个时候map就有用了。如果采用数组,我们需要遍历整个数组,才可以根据名字找到这个人。如果是map(以名字为key,以人的对象为value),就可以直接根据名字得到这个对象,就不需要遍历操作了。C++的map是采用红黑树实现的,因此获取value的效率为lgn级别。
2、例子:
map>myMap;mapchildMap1;childMap1.insert("childMap1item1","item1");childMap1["chileMap1item2"]="item2";//若没找到key为chileMap1item2的元素就则添加一个mapchildMap2;childMap2.insert(map::value_type("childMap2item1","item1"));myMap.insert("childMap1",childMap1);myMap.insert("childMap2",childMap2);//若想从myMap中找到childMap1的key为"chileMap1item2"的元素,可以这么做map>::iteratorit=myMap.find("childMap1");map::iteratorchildIterator=it->second.find("chileMap1item2");stringvalue=childIterator->second;//value即为所求值
标签:信息技术 编程 编程语言 CC++ map
相关文章
如何用JAVA实现字符串简单加密解密?java加密字符串可以使用des加密算法,实例如下: package test; import java.io.FileInputStream; import java.io.FileOutputStream; import
编写一个程序,把片内RAM从30H开始存放的16个数据传送到片外RAM从0000H开始的单元中。1、首先在采用CCS6.0编译器进行代码编写时,要进行相应的设置,如下图所示。2、其中,外扩接在
B语言和C语言 有什么区别(越详细越好)不知道或者没听说过B语言的请不要凭着自己的感觉胡乱回答,误人子弟。 B语言是贝尔实验室开发的一种通用的程序设计语言,它是于1969年前后
请问一下这个C语言编程题怎么做(对于稍微有点基础人的来说很简单),很急,谢谢!!第一题(用数组编程)随机产生10个30~100(包括30,100)的正整数,求最大值,最小值,平均值,并显示整个数组的值和
现在学互联网技术还有前途吗?计算机的就业趋势 从总体上讲,社会对计算机人才总需求量有明显变化,但毕业生就业岗位分布和岗位层次将更加宽泛,需求的主体由政府机关、金融单位、
使用一维数组,函数编写程序,从键盘输入8个整数,然后输出最大数和最小数.intmain() { inta[8]; inti,max,min; printf("请输入8个整数:\n"); for(i=0;i
核桃编程适合多大的孩子学?核桃编程适合7-12岁的孩子学。7到12岁,是培养思维黄金期,青少年群体是学习少儿编程的主力军。瑞士儿童心理学家让·皮亚杰曾表示,孩子在7-12岁处于具
数控编程试题及答案数控综合试题库 一填空题 1.数控系统的发展方向将紧紧围绕着 性能 、 价格 和 可靠性 三大因素进行。 2.加工中心按主轴在空间所处的状态可以分为 立式 、
数控车床手柄的程序还需要一些尺寸,如R35处的直径和根部圆柱面的直径,才能把程序编出来CNC系统编程指令CNC系统编程主要指令:1、G00与G01G01按指定进给速度以直线运动方式运动
怎样学习外汇MT4编程之MQL4语言学习入门如果学会了外汇编程,常用的MT4编程语言MQL4之后,一切就不一样了。你可以用代码的方式去使用历史数据验证你的策略,看看在历史上哪些时间