类似地图的容器
A map-like container
本文关键字:地图 更新时间:2023-10-16
我需要一个特殊的容器,它就像两个类型的multimap: T1
和T2
:容器中的每"行"包含一个T1
和T2
。我需要从它的要求是:
- 快速插入一行(
T1
和T2
), O(log n)在multimap中是ok的。 - 快速查询multimap中包含
T1
, O(log n)的所有行,可以。 - 基于
T1
和T2
的快速删除行,O(k * log n)在multimap中是坏的。
编辑:
如果对大家有帮助的话,
T1
是一个enum
, T2
是一对两个int
。
您考虑过使用std::set
吗?
将元素用作单个组合键:
- 插入和删除照常覆盖。
- 搜索由
lower_bound
和upper_bound
的组合(都是O(log N))覆盖,可以为您的配对定义最小和最大元素。
相关文章:
- 为什么不;名字在地图上是按顺序排列的吗
- 基于多个条件处理地图中的所有元素
- 在C++中将矢量转换为嵌套地图
- 替换基于地图的所有引用
- 如何区分地图中的 0 和 false?
- 地图计数确实很重要,或者只是检查是否存在
- 如何从地图中删除矢量对象
- 是否有任何C++功能可以对地图进行排序?
- 如何使用 std::variant 打印地图键/值?
- 从矢量或地图中删除共享指针
- 在 c++ 中,有一种方法可以创建一个包含地图作为值的树状地图?
- 无限嵌套具有变体的地图
- C++一会儿循环读到地图上 2 行?
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- 如何检查变量是否是C++中的地图?
- 如何使地图按值C++排序
- 修改地图内矢量中的值
- 为什么我在地图中搜索STL时差很大?
- 我正在尝试按降序对地图进行排序,但没有得到预期的结果?
- 如何包装(撰写)增强 hana 地图并访问括号运算符(运算符 [])?