C++ 中的map

1. C++ 中的map想必大家都用过,我也是大一的时候就使用过,但是一直到最近的一个项目才发现对于C++中的map,自己认识的竟然是如此粗浅。

2. set和map一样都是有序的,用树作为存储结构。

主要的函数:

1> 构造函数: map<int,string> MAP;

2> 插入数据:

1. map.insert(pair<int,string>(1,"hello"));

2. map.insert(map<int,string>::value_type(1,"hello"));

3. map[2]="eaed";

第一种和第二种是一样的,但是第三种不太一样。

      第一种,会现在KEY中查找1,如果不存在插入。如果存在则不进行任何操作。这个函数返回一个pair类型,first为key,second 为bool,标志着插入数据的成功还是失败。      第三种,如果KEY存在了,它会覆盖。而且效率也存在问题,首先它会在KEY处插入一个空串,然后再赋值。

如果map 或者set中插入结构体是KEY的话,要重写比较函数。

bool  operator<(const A& a) const

{


}

3> 查找 find   map.find(KEY) 如果找到返回迭代器,找不到迭代器指向map.end()

4> set 和map 虽然提供了erase函数,但是这个函数不建议使用,因为如果在遍历的时候使用这个函数会破坏容器的有序性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值