[C++] map集合的使用

【C++集合】STL中的map

STL中的map以一种效率较高的形式(红黑树)实现了映射。(C++11又提供了一种更为先进的unordered_map,基于哈希表,拥有 O(1) 的时间复杂度,两种容器操作相同)

map的创建

map<A, B> mp;
unordered_map<A, B> mp;

即可创建一个键类型为A,值类型为B的map。

map的插入与修改

mp.insert(make_pair(a,b));

即可插入一个对象(要求a的类型为A,b的类型为B)。

此外,map还提供一种简易的插入与修改方法

mp[a]=b;

此时,如果mp中a已存在,则会将键为a的项的值设为b;否则,则会插入一个键为a,值为b的新项。

map的查询

mp[a];//查询键为a的项的值

map的删除

mp.erase(mp.find(aa));//将键为a的项删去

查看map的大小

mp.size();

查看map中特定项的个数

mp.count(a);

这个count是查看mp中键为a的项的个数(因为只能有一个或没有,这个函数的返回值只能为1或0)。

清空集合

mp.clear();//删除map中全部元素

Map集合主要用来存放有映射关系的多组数据,可以做到一一对应,具备“映射”关系。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值