STL中map的使用
知识点
C++中map提供的是一种键值对容器,里面的数据都是成对出现的。map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。
1.当使用数组的方式遍历map
时,下标是从1开始。
2.用find()
函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map
中没有要查找的数据,它返回的迭代器等于end()
函数返回的迭代器。获取的迭代器iterator
数据类型是一个std::pair
对象,包括两个数据 iterator->first
和 iterator->second
分别代表关键字和存储的数据。
3.map中的swap不是一个容器中的元素交换,而是两个容器所有元素的交换。
4.map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。
5.map底层由红黑数实现,所以可以根据key值快速查找记录,查找的复杂度基本是Log(N)
更多:
1.C++中的STL中map用法详解
2.C++ Map常见用法说明
感谢阅读,如有问题,请批评指正,谢谢。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥