#include
1.map的定义mapname;
typename1为键(key),keyname2为值(value)
2.map容器内元素的访问(1)下标访问
注意一个键只能对应一个值
mapmp; mp['a']=100; mp['a']=120; cout< (2)迭代器访问
迭代器定义与其他STL相同
map::iterator it; 使用上与其他STL有区别,因为迭代器需要同时能访问到键和值,使用->first和->second分别访问键和值
注意:map会按照键的大小进行自动排序,类似于set
#include3.map常用函数解析 (1)find()using namespace std; signed main(void) { map mp; mp['c']=1; mp['b']=2; mp['a']=3; for(map ::iterator it=mp.begin();it!=mp.end();it++) { printf("%c %dn",it->first,it->second); } return 0; } find(key)返回键为key的映射的迭代器,时间复杂度为O(logn),n为map中映射个数
#include(2)erase()using namespace std; signed main() { map mp; mp['b']=2; mp['c']=1; mp['a']=3; map ::iterator it=mp.find('b'); printf("%c %dn",it->first,it->second); return 0; } 1.erase(it) it为待删除元素的迭代器,时间复杂度O(1)
2.erase(key) key为待删除元素的键,时间复杂度为O(logn),n为map内元素个数
3.erase(first,last) 左闭右开,[first,last),时间复杂度为last-first
(3)size()返回映射对数,O(1)
(4)clear()清空元素,O(n),n为元素个数
4.map常见用途multimap(一个键对应多个值)、unordered_map(不排序)



