一、C++中map简介:
C++中map容器提供一个键值对(key/value)容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。需要包含头文件map。对于迭代器来说,可以修改实值,而不能修改key。Map会根据key自动排序。
使用时需要加入头文件:
#include
二、C++ map定义和初始化
mapmap1; //空map
三、C++ map常用操作方法
map1[3] = "beijing"; //添加元素
map1.insert(map::value_type(2,"xian"));//插入元素
//map1.insert(pair(1,"china"));
map1.insert(make_pair(4,"V5"));
string str =map1[3]; //根据key取得value,key不能修改
map::iteratoriter_map = map1.begin();//取得迭代器首地址
int key =iter_map->first; //取得eky
string value =iter_map->second; //取得value
map1.erase(iter_map); //删除迭代器数据
map1.erase(3); //根据key删除value
map1.size(); //元素个数
map1.empty(); //判断空
map1.clear(); //清空所有元素
//3.遍历
for(map::iteratoriter = map1.begin();iter!=map1.end();iter++)
{
int keyk= iter->first;
stringvaluev = iter->second;
}
四、C++ map使用实例
(1)将mymap中itemstruct 的a大于100的项删除
struct itemstruct
{
int a;
char b[20];
};
map mymap.
实例1:
#include
#include
#include
实例2:
#include
实例3:
for(map::iterator i = mymap.begin(); i != mymap.end();)
{
if(i->second.a > 100)
i = mymap.erase(i);
else
++i;
}