[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集合主要用来存放有映射关系的多组数据,可以做到一一对应,具备“映射”关系。

  • 5
    点赞
  • 4
    评论
  • 4
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

凯福Kai_Fu

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值