头文件<map>
map是STL的一个关联容器,翻译为映射,数字也是一种映射。如int
a[10]是int到int的映射,而a[5] = 25,是把5映射到25。
map映射容器的元素数据是一个键值和一个映照数据组成的,键值与映照数据之间有一一映照关系。
map映照容器的数据结构是采用红黑树来实现的,插入键值的元素不允许重复,比较函数只对元素的键值进行比较,元素的各项数据可通过键值检索出来
键值 | 映照数据 |
Exam: Name | Score |
Jack | 98.5 |
Bomi | 96.0 |
Kate | 97.5 |
map映照容器元素的数据构成示意图
普通int数组是map<int,int>a;
字母到整型的映射是map<char,int>a;
字符串到整型的映射是map<string,int>a;
作用 | map<int,string> m; | 常用函数功能 | 备注 |
查询 | m.at[3]或m[3] | 返回一个引用,指向键位3时的对应值;如果元素不存在,map会自动建立这个元素 | 注意,它和数组下标完全不是一回事 |