1.定义
map<typename1, typename2> mp;
相当于下标可以为任意类型的数组,使用方法举例:
map<string,int>q;//定义一个map表名为q
q["price"]=100;//赋值语句,"price"对应string类型,100对应int类型,"price"叫键名,100叫值
q["value"]=1000;
q["ssss"]=111;
cout<<q["price"];//访问q["price"]就可以输出他对应的int值
2.需要头文件
#include<map>
3.迭代器遍历
for(map<string, int>::iterator it = q.begin(); it != q.end(); it++)
cout<< it->first << it->second<<endl;
注解:
1.map<char, int>::iterator相当于一种数据类型,类似于平时用的int,char定义变量,it是变量名,map<char, int>::iterator it就类似于平时遍历数组写的int i;
2.mp.begin()是这个map表的第一个位置,mp.end()相当于map表的最后一个有数据位置的后一个位置;
3.it->first 相当于"price"所在的位置,it->second相当于100所在的位置
4.常用函数
find(key) //返回键为key映射的迭代器
用法:map<char, int>::iterator it=q.find("price");cout<<it->second;//输出为1000;
erase(it)||erase(first,last)//1、删除单个元素。2、删除一个区间内所有的元素
用法:q.earse(q.find("price"))//删除键名为price的键值对
size()//获得map中映射的对数
用法:int sum=q.size();cout<<sum;
clear()//清空map中的所有元素
用法:q.clear();