映射是什么?
其实就是通过一个数找到一个和他对应的数(数组也是(下标对应值))
但是map比数组更强大,应为他的下标的类型可以自定义,而数组只能是整型
map的定义和使用
定义:
map<key_类,value_类>名字;
迭代器:
map<key_类,value_类>::iterator 名字;
map中的元素是pair(键值对)
pair可以单独定义,定义方法:
pair<key_类,value_类>;
初始化:
pair<key_类,value_类>(key,value);
使用:
通过key找value:
名字[key];
通过value找key:
迭代器->first;
名字.begin();---------开头对应的迭代器
名字.end();-----------结尾(最后一个元素的下一个地址)对应的迭代器
用迭代器取出pair:
名字->first(key)/second(value);
遍历:
迭代器名:a
map名:m
for(a=m.begin();a!=m.end();a++){
//……
}
找pair:
名.find(key);-------有key对应的value返迭代器,没有返end()