游戏中的展销系统使用的数据结构

1️⃣ std::map

  • 底层结构:红黑树(有序平衡二叉搜索树)。

  • 键值特点 :键 有序 (默认用 < 比较)。

  • 查找/插入/删除O(log n)

  • 迭代顺序:按键升序遍历。

  • 适合场景 :需要按顺序遍历、按区间查找、或经常做 lower_boundupper_bound 的情况。


2️⃣ std::unordered_map

  • 底层结构:哈希表(hash table)。

  • 键值特点 :键 无序(存储顺序不可预测)。

  • 查找/插入/删除 :平均 O(1),最坏 O(n)(当哈希冲突严重时)。

  • 迭代顺序:不可保证顺序,且随着 rehash 改变。

  • 适合场景:不关心顺序、只追求快速查找的情况。


3️⃣ std::multimap

  • 底层结构 :红黑树(与 map 相同)。

  • 键值特点允许相同键map 的 key 必须唯一,multimap 可以重复)。

  • 查找/插入/删除O(log n)

  • 迭代顺序 :按键升序遍历(同 map)。

  • 适合场景:需要一个键对应多个值时。


🔎 主要区别总结表

容器 底层结构 是否有序 是否允许重复键 查找/插入/删除复杂度 迭代顺序 适用场景
map 红黑树 有序 O(log n) 按键升序 需要排序或区间查找
unordered_map 哈希表 无序 平均 O(1) 不保证 高速查找
multimap 红黑树 有序 O(log n) 按键升序 一个键多值

应用例子

1、unordered_map做订单容器

2、multimap做时间等索引

相关推荐
前端不太难1 小时前
一天做出:鸿蒙 + AI 游戏 Demo
人工智能·游戏·harmonyos
2301_764441337 小时前
LISA时空跃迁分析,地理时空分析
数据结构·python·算法
玉树临风ives8 小时前
atcoder ABC 452 题解
数据结构·算法
无敌昊哥战神10 小时前
深入理解 C 语言:巧妙利用“0地址”手写 offsetof 宏与内存对齐机制
c语言·数据结构·算法
XH华11 小时前
数据结构第九章:树的学习(下)
数据结构·学习
会编程的土豆12 小时前
【数据结构与算法】再次全面了解LCS底层
开发语言·数据结构·c++·算法
汀、人工智能14 小时前
[特殊字符] 第93课:太平洋大西洋水流问题
数据结构·算法·数据库架构·图论·bfs·太平洋大西洋水流问题
feng_you_ying_li15 小时前
C++11,{}的初始化情况与左右值及其引用
开发语言·数据结构·c++
锅挤16 小时前
数据结构复习(第一章):绪论
数据结构·算法