类似地图的容器

A map-like container

本文关键字:地图      更新时间:2023-10-16

我需要一个特殊的容器,它就像两个类型的multimap: T1T2:容器中的每"行"包含一个T1T2。我需要从它的要求是:

  1. 快速插入一行(T1T2), O(log n)在multimap中是ok的。
  2. 快速查询multimap中包含T1, O(log n)的所有行,可以。
  3. 基于T1T2的快速删除行,O(k * log n)在multimap中是坏的。
在Boost或SGI STL库中是否有更好的容器满足这些要求?
编辑:
如果对大家有帮助的话,T1是一个enum, T2是一对两个int

您考虑过使用std::set吗?

将元素用作单个组合键:

  • 插入和删除照常覆盖。
  • 搜索由lower_boundupper_bound的组合(都是O(log N))覆盖,可以为您的配对定义最小和最大元素。