map基本概念
简介:
- map中所有元素都是pair
- pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)
- 所有元素都会根据元素的键值自动排序
本质:
- map/mutimap属于关联式容器,底层结构为二叉树结构
优点:
- 可以根据key值快速找到value值
map和multimap的区别:
- map中不允许有重复元素
- multimap允许容器中有重复元素
构造:
- map<T1,T2> m;//map默认构造
- map(const map& mp); //拷贝构造
赋值:
- operator=(const map& mp); //重载赋值运算符
大小和互换:
- size();
- empty();
- swap(map ma);
map插入和删除:
- insert(pair<T1,T2>(key,value) p);
- clear();
- erase(beg,end);
- erase(key);
查找和统计:
- find(key); //查找key是否存在,返回值为bool
- count(key); //统计key的元素个数
排序:
插入时自动排序,但可以利用仿函数自定义排序规则
对于自定义数据类型必须指定排序规则