代码之家  ›  专栏  ›  技术社区  ›  Roddy

哪个STL容器用于基于密钥访问的有序数据?

  •  9
  • Roddy  · 技术社区  · 16 年前

    class Person 
    {
      string Name;
      string UniqueID;
    }
    

    但是,我也需要基于UniqueID的快速访问,因为集合会很大,线性搜索不会削减它。

    这很管用,但我觉得应该有更聪明的方法 boost:bimap . 建议?

    编辑: 我对“订购”的要求有些混乱。为了解释,对象是从一个文件中按顺序流进来的,容器中项目的“顺序”应该与文件顺序相匹配。顺序与ID无关。

    3 回复  |  直到 16 年前
        1
  •  8
  •   Kirill V. Lyadvinsky    16 年前

    boost:bimap 是最明显的选择。 bimap 基于 boost::multi_index ,但是 双地图 boost::多索引 结束 boost::bimap 因为它可以很容易地添加更多的索引到 Person 未来的结构。

        2
  •  7
  •   sbi    16 年前

        3
  •  1
  •   anand    16 年前

    您可以创建一个回调函数,每当发生任何更改时,它都会更新这两个映射。