我需要一个特殊容器,它类似于两种类型的多重映射:T1
和T2
:容器中的每个“行”都包含T1
和T2
。我需要的要求是:
T1
和T2
),O(log n)即可。T1
,O(log n)的所有行即可。T1
和T2
,O(k * log n)快速删除一行,这是不好的。在Boost或SGI STL库中是否有更好的容器满足这些要求?
编辑:
如果它对任何人有帮助,则T1
为enum
,T2
为两对int
。
答案 0 :(得分:0)
您考虑使用std::set
吗?
将您的元素用作单个复合键:
lower_bound
和upper_bound
(均为O(log N))的组合覆盖,因为您可以定义对的最小和最大元素。