C++map容器的使用

1 基本知识

  • map的特性,所有的元素根据元素的键值自动排序
  • map所有的元素都是pair,同时拥有实值和键值,pair的第一个元素被视为键值,第二个元素被视为实值;
  • map不允许两个元素有相同的键值;
  • multimap和map的操作类似,唯一区别mutimap键值可重复
  • map和multimap都是以红黑树为底层实现机制。

2 常用的API

  • 构造
    map<T1, T2> p;
  • map的大小操作
    size(); //返回容器中元素的数目
    empty();
  • map插入数据元素
map.insert()

map<int, string> mapStu;
//第一种 通过pair的方式插入对象
mapStu.insert(make_pair(-1,"校长"));
//第二种 通过pair方式插入对象
mapStu.insert(pair<int, string>(3, "小张"));
//第三种 通过value_type的方式插入对象
mapStu.insert(map<int, string>::value_type(1,"小李"));
//第四种 通过数组的方式插入值
mapStu[3] = "小刘";
mapStu[5] = "小王";
  • map删除操作
clear(); //删除所有的元素
erase(pos);//删除pos迭代器所指的元素,返回下一个元素的迭代器
erase(beg,end);//删除区间内的所有元素
erase(keyElem);//删除容器中keyElem的对组

  • map查找操作
find(key);//查找健key是否存在,返回该键的元素的迭代器,若不存在返回map.end()
count(keyElem); //返回容器中key为keyElem的对组个数,
lower_bound(keyElem);//返回第一个key<=keyElem元素的迭代器
upper_bound(keyElem);//返回第一个key>keyElem元素的迭代器
equal_range(keyElem); //返回容器key与keyElem相等的上下限的两个迭代器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值