C++学习记录-STL-map和multimap

​ Map的特性是,所有元素都会根据元素的键值自动排序。Map所有的元素都是pair,同时拥有实值和键值,pair的第一元素被视为键值,第二元素被视为实值,map不允许两个元素有相同的键值。

​ Multimap和map的操作类似,唯一区别multimap键值可重复。

map常用API

  1. 构造函数

    1
    2
    map<t1,t2> 名称;//默认构造函数
    map(另一个容器);//拷贝构造函数
  2. 赋值操作

    1
    2
    3
    4
    5
    //重载的 = 号
    swap(容器,另一个容器);//交换
    .insert(pair<T1,T2>(elum1,elum2));//插入元素
    .insert(make_pair(elum1,elum2));//插入元素
    .insert(map<T1,T2>::value_type(elum1,elum2));//通过value_type插入
  3. 大小操作

    1
    2
    .size();//返回大小
    .empty();//判断是否为空
  4. 查找操作

    1
    2
    3
    4
    5
    .find(key);//查找键值为key的是否存在,不存在返回end
    count(key);//统计键值为key的元素个数
    lower_bound(key);//返回第一个<=key的元素迭代器
    upper_bound(key);//返回第一个>key的元素迭代器
    equal_range(key);//返回与key相等的迭代器
  5. 删除操作

    1
    2
    3
    4
    .clear();//删除所有元素
    .erase(pos);//删除pos位置的元素
    .erase(beg,end);//删除区间内所有元素
    .erase(key);//删除键值为key的对组