头文件:#include “map”
定义:map<typename , typename> m
特性:map是key与value一对一的hash表。其key值唯一,存储无序(存储先后与位置先后无关)
基本操作
1、插入值
2、通过key获取值
m[key]
3、循环遍历(迭代法):
map<char,int> m;
m['a'] = 1;
m['b'] = 2;
m['c'] = 3;
map<char, int>::iterator iter; //生成迭代器
for(iter = m.begin(); iter != m.end(); iter++)
cout<<iter->first<<" "<<iter->second<<endl; //first:key,second:value
实用函数
1、删除值
map.erase(key);
2、插入值
m[key] = value;(推荐)
m.insert(pair<typename ,typename >(key,value));
3、判断为空
m.empty():空1/true,非空0/false
4、查找值
1)m.find(key):返回key对应的迭代器,second得到value
2)m[key]:返回key对应的value
5、清空
map.clear()
6、获取map的长度
m.size()
7、获取位置
begin() 返回指向map头部迭代器
end() 返回指向map末尾迭代器(最后一个元素后一个)
其它函数
swap() 交换两个map
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数