一、map的定义
map一种有三种,分别是map,unordered_map,multimap。定义为 map<type_1, type_2> mp;另外两种类似。map和multimap内部由红黑树实现,unordered_map内部由哈希表实现,各有各的优点。
二、map中元素的访问
1、下标访问
假如定义为map<string, int> mp;--------------mp["name1"],mp["name2"];
2、迭代器访问
假如定义为map<string,int> mp, map<string,int>::iterator iter;
使用iter->first,iter->second来访问键值。
三、map常用操作
1、插入--insert()
mp.insert(pair类型);insert函数插入一个pair类型{type_1, type_2};
2、查询--find()
mp.find(key);传入一个键参数,返回一个迭代器,如果未找到返回mp.end();
3、删除--erase()
mp.erase(iter);传入要删除元素的迭代器
mp.erase(key);传入要删除元素的键
mp.erase(begin, end);传入要删除范围的一对迭代器,前闭后开
4、元素个数--size()
mp.size();返回存入的键值对个数
5、清空元素--clear()
mp.clear();清空所有键值对
发文是因为在刷题时使用哈希函数法用到了ordered_map,所以总结一下相关用法。