1、Map的常用用法
map:映射。可以将任何基本类型,结构体,STL容器映射到任何基本类型包括容器。
使用map,需要加map的头文件,#include<map>和using namespace std;
1.1、map的定义
map<typename1,typename2> mp; map<string,int> mp; //如果是字符串到int的映射,必须使用string不能使用char数组。
1.2、map容器元素的访问
map的两种访问方式:下标访问、迭代器访问
1.2.1、下标访问
和访问数组一样。map中键是唯一的
1.2.2、迭代器访问
map<typename1,typename2>::iterator it;
#include<stdio.h> #include<map> using namespace std; int main() { map<char,int> mp; mp['a']=5; mp['b']=10; mp['d']=40; mp['c']=20; mp['c']=30;//20被覆盖 printf("%d\n",mp['c']); for(map<char,int>::iterator it=mp.begin();it!=mp.end();it++) { printf("%c %d\n",it->first,it->second);//it->first:当前映射的键,it->second:当前映射的值 } //a 5 //b 10 //c 30 //d 40 //map会以键从小到大的顺序自动排序。map内部是使用红黑树实现的,set内部也是。 //建立映射的时候,会自动实现从小到大的排序功能 return 0; }