map
map基本概念
简介:
map中所有元素都是pair pair中第一个元素为key(键值),起到索引作用,
第二个元素为value(实值) 所有元素都会根据元素的键值自动排序
优点: 可以根据key值快速找到value值
map和multimap区别:
map不允许容器中有重复key值元素
multimap允许容器中有重复key值元素
map的创建
构造: mapmp; "map默认构造函数:" map(const map &mp); "拷贝构造函数" 赋值: map& operator=(const map &mp); "重载等号操作符"
map的大小和交换
size(); "返回容器中元素的数目" empty(); "判断容器是否为空" swap(st); "交换两个集合容器"
map的删除和插入
insert(elem); "在容器中插入元素。" m.insert(pair(1, 10)); clear(); "清除所有元素" erase(pos); "删除pos迭代器所指的元素,返回下一个元素的迭代器。" erase(beg, end); "删除区间[beg,end)的所有元素 ,返回下一个元素的迭代器。" erase(key); "删除容器中值为key的元素。" "第一种插入方式" m.insert(pair (1, 10)); "第二种插入方式" m.insert(make_pair(2, 20)); "第三种插入方式" m[4] = 40; "清空" m.erase(m.begin(),m.end()); m.clear();
map的查找和统计
find(key); "查找key是否存在,若存在,返回该键的元素的迭代器;若不存在,返回set.end();" count(key); "统计key的元素个数(map只会返回0或1,这点和set一样)"
map改变排序的方式(这点和set差不多,需要一个仿函数作参数来实现)



