c++ map用法以及注意

map的实现基于红黑树,因此它的插入、删除和查找操作的时间复杂度都是O(log n)。

  1. 用法:

    • 包含头文件:#include <map>
    • 定义一个map:std::map<KeyType, ValueType> mapName;,其中KeyType是键的类型,ValueType是值的类型。
    • 插入元素:mapName[key] = value; 或者 mapName.insert(std::make_pair(key, value));
    • 访问元素:mapName[key]; 或者 (*mapName.find(key)).second;
    • 删除元素:mapName.erase(key);
    • 遍历元素:使用迭代器或范围for循环。
  2. 注意事项:

    • map的键必须支持比较操作,例如可以使用整数、浮点数、字符串等作为键。
    • map的键是唯一的,如果插入相同的键,新的值会覆盖旧的值。
    • map中的元素是按键排序的,所以不能保证插入顺序与遍历顺序相同。
    • 使用mapName[key]访问元素时,如果键不存在,会自动插入一个具有该键的元素,并将其值初始化为默认值。为了避免不必要的插入,可以先使用mapName.find(key)检查键是否存在。
    • 当需要同时访问键和值时,可以使用std::map<KeyType, ValueType>::iterator类型的迭代器,通过iter->first访问键,iter->second访问值。
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值