一、定义
map中的key值和value取值种类很多,但是key必须是可比较的,例如自定义的结构需要加上比较函数:
struct Dian
{
int x;
int y;
bool operator < (const struct Dian &a) const {
if(x==a.x)return y>a.y;
return x>a.x;//最小值优先
}
};
map<struct Dian,int>mymap;
二、修改
例如temp为一个键值
直接map[temp]=5;即可
我们在查询的时候对于一个不存在的temp,map[temp]是为0的
三、遍历
map<struct Dian,struct Vaul>::iterator it;
for(mapit=mymap.begin();mapit!=mymap.end();it++)
{
tempA=it->first;//key值
tempB=it->second;//value值
...
}
四、查找
例如我们想查找tempFind
map<struct Dian,struct Vaul>::iterator mapf;
mapf=mymap.find(tempFind);//返回指向tempFind的迭代器
if(mapf==mymap.end())//没有找到
if(mapf!=mymap.end())//找到了