std之map总结

map属于关联容器,提供一对一的数据处理能力。内部是由红黑树实现的,具有自动排序能力。因此map内部的所有数据是有序的。

一.插入操作
在map中插入数据有三种方法:
1.使用数组
用数组方式插入数据
2.insert函数插入pair数据
3.insert插入value_type数据

使用后两者插入数据,利用的是集合的唯一性,也就是说当map容器中已经有了所要插入的数据,则insert操作是插入不了数据的。而使用数组操作时,会将已有的数据覆盖

二.遍历操作
1.前向迭代器
使用前向迭代器的例子如上述几个例子中,均应用到了前向迭代器来遍历map容器中的数据。
2.反向迭代器
方向迭代器,是将map容器中的元素反向遍历
3.数组遍历
使用数组也可以对map容器进行遍历

三.查找操作
1.count()函数的使用
count函数只能返回0和1,无法定为数据出现的位置。如果待查元素在map容器中有,则返回1,没有则返回0
2.find()函数的使用
用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器
不能使用数组下标的方法来查找,因为若使用数组下标查找,则对于map中没有的元素,会直接将这个元素插入

四.删除操作
移除某个map中某个条目用erase()
该成员方法的定义如下:
iterator erase(iterator it);//通过一个条目对象删除
iterator erase(iterator first,iterator last)//删除一个范围
size_type erase(const Key&key);//通过关键字删除
clear()就相当于enumMap.erase(enumMap.begin(),enumMap.end());

五.排序操作
map中的元素是自动按Key升序排序,所以不能对map用sort函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值