【C++】map的总结

本文介绍了C++中不同类型的map,包括std::map的单向键-单值,std::multimap的单向键-多值,以及boost::bimap的双向键-多值。详细阐述了它们的头文件、内部存储结构、操作方法,特别是遍历、查找和删除等关键操作,并给出了实例代码。对于多值的情况,强调了equal_range方法的使用和boost::bimap在双向查找中的优势。
摘要由CSDN通过智能技术生成

参考了:https://blog.csdn.net/u010246947/article/details/42029917

map的分类

一、单向&键-单值 的map(std::map)

1、头文件 < map>

2、主要操作:略

二、单向&键-多值 的map(std::multimap)

1、头文件 < map>

2、在multimap的内部存储结构中,单key多值事实上也是“连续”存储的(即内部存储是按key进行排序,value值与insert的顺序有关,而非按序),比如例子中的代码如下:

mmap.insert(make_pair(1, "ak47"));
mmap.insert(make_pair(2, "z4a1"));
mmap.insert(make_pair(3, "eagle"));
mmap.insert(make_pair(2, "sig552"));
mmap.insert(make_pair(4, "usp"));
mmap.insert(make_pair(5, "o4"));

mmap的遍历结果是:
key: 1, val: ak47
key: 2, val: z4a1
key: 2, val: sig552
key: 3, val: eagle
key: 4, val: usp
key: 5, val: o4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值