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

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做时间等索引

相关推荐
如君愿7 分钟前
考研复习 Day28 | 习题--计算机网络第四章(网络层 中)、数据结构(树与二叉树 下)
数据结构·计算机网络·考研·课后习题·记录考研
柚要做甚码20 分钟前
godot-rust(gdext)2D游戏之旅【pong】 - 2
游戏·游戏开发
柚要做甚码25 分钟前
godot-rust(gdext)2D游戏之旅【pong】 - 3
游戏·游戏开发
江南十四行27 分钟前
排序算法进阶:直接插入排序(简单排序)与希尔排序
数据结构·算法·排序算法
洛水水31 分钟前
【Redis入门】一篇详解Redis五大数据结构
数据结构·数据库·redis
CoderCodingNo34 分钟前
【CSP】CSP-J 2021真题 | 插入排序 luogu-P7910 (适合GESP四-六级及以上考生练习)
数据结构·算法·排序算法
努力努力再努力wz2 小时前
【MySQL进阶系列】一文打通事务机制:从锁、Undo Log 到 MVCC 与隔离级别
c语言·数据结构·数据库·c++·mysql·算法·github
薇茗2 小时前
【初阶数据结构】 左右逢源的分支诗律 二叉树1
c语言·数据结构·算法
盼小辉丶2 小时前
PyTorch强化学习实战——构建生成对抗网络生成Atari游戏画面
pytorch·游戏·生成对抗网络
澈2072 小时前
C++ string全面解析:从入门到精通
数据结构·c++·算法