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

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

相关推荐
爱吃烤鸡翅的酸菜鱼3 小时前
【Redis】常用数据结构之Hash篇:从常用命令到使用场景详解
数据结构·数据库·redis·后端·缓存·哈希算法
二进制person3 小时前
数据结构--Map和Set
数据结构
我叫汪枫3 小时前
C语言深度入门系列:第十一篇 - 动态内存管理与数据结构:程序世界的高效算法大师
c语言·数据结构·算法
啊?啊?3 小时前
7 排序算法通关指南:从 O (n²)(选择 / 冒泡)到 O (nlogn)(快排 / 归并)+ 计数排序
数据结构·算法·排序算法
爱吃烤鸡翅的酸菜鱼4 小时前
【Redis】常用数据结构之List篇:从常用命令到典型使用场景
数据结构·redis·后端·缓存·list
塔中妖5 小时前
【华为OD】数字游戏
算法·游戏·华为od
会豪5 小时前
数据结构-栈/队列
数据结构
老纪的技术唠嗑局6 小时前
向量检索技术优化步骤详解——游戏公司智能客服与推荐系统落地OceanBase
游戏
fangzelin56 小时前
算法-滑动窗口
数据结构·算法