我有以下问题:
我有 n 个从 std::string 映射到 boost::variant 的哈希图(我们称它们为 A.1、A.2、...、An),我想将它们合并为一个哈希图(我们称其为 B ) 如下:
- 如果 A.1, A.2, ... An 包含与键 K 相同的值,则 B 应包含与键 K 相同的值。
- 如果存在映射 A.1、A.2、... An 之一中不存在的某个键 K,则 B 应包含从键 K 到值 boost::blank 的映射。
- 如果 A.1、A.2、...An 中的键 K 存在某个与其他值不同的值,则 B 应包含从键 K 到值 boost::blank 的映射。
我必须这样做很多,我知道这将成为一个瓶颈。实现这一目标的最有效方法是什么?任何库支持像这样合并哈希图?
编辑:如果另一个数据结构更合适,请告诉我。但是,我确实需要 O(1) 查找