*如果要使用map,需要添加头文件#include. 1.map的定义 单独定义一个map: mapmp; 其中第一个是键的类型,第二个是值的类型。 如果是字符串到整数的映射,必须使用string而不能使用char数组。 map的键和值也可以是STL容器,例如可以将一个set容器映射到一个字符串: map,string>mp; 2.map容器内元素的访问 (1)通过下标访问 mapmp; mp['c']=20; (2)通过迭代器访问 map::iterator it; 可以使用it->first来访问键,使用it->second来访问值。 mpmp; mp['m']=20; mp['r']=30; mp['a']=40; for(map::iterator it=mp.begin();it!=mp.end();it++) printf("%c %dn",it->first,it->second); 输出结果:a 40 m 20 r 30 (map会以键从小到大的顺序自动排序。) 3.map常用函数实例解析 (1)find() find(key)返回为key的映射的迭代器。 mapmp; mp['a']=1; mp['b']=2; map::iterator it=mp.find('b'); printf("%c %dn",it->first,it->second); 输出结果:b 2 (2)erase() 删除单个元素: mp.erase(it).it为需要删除的元素的迭代器。 mp.erase(key) key为欲删除的映射的键。 删除一个区间内的所有元素: mp.erase(first,last).first为需要删除区间的起始迭代器,last为需要删除的区间的末尾迭代器的下一个地址, 也即为删除左闭右开的区间[first,last). (3)size() size()用来获得map中映射的对数。 (4)clear() clear()用来清空map中的所有元素。
上一篇 AcWing 885. 求组合数 I(递推)
下一篇 maven工程灰色问题
版权所有 (c)2021-2022 MSHXW.COM
ICP备案号:晋ICP备2021003244-6号