【问题标题】:What is the map data structure in C++ [duplicate]C ++中的地图数据结构是什么[重复]
【发布时间】:2012-08-25 19:35:41
【问题描述】:

C++中下面一行代码使用的数据结构是什么?

map <char, int> dict;

它是一个哈希表吗?

【问题讨论】:

    标签: c++ data-structures stl map std


    【解决方案1】:

    std::unordered_map 使用散列来存储其对象。

    【讨论】:

      【解决方案2】:

      该标准没有对std::map 施加任何特定的实现。它只给出所需的操作及其复杂性。这些因素导致了实际的实现选择,通常是Red-black Tree

      列出std::map 要求的章节是C++11 中的23.2.4 Associative Containers

      【讨论】:

        【解决方案3】:

        通常使用自平衡 BST 实现。实现实际上是特定于编译器的。

        std::map<char, int> dict;
        

        char 是键,int 是对应的值。

        【讨论】:

        • 我不认为它是红黑树实现的任何要求。如果遵循语义,它可能是引擎盖下的任何东西。
        【解决方案4】:

        它使用红黑树按顺序组织键。

        这就是为什么你可以按升序迭代它,并且关键对象必须有 operator

        【讨论】:

          猜你喜欢
          • 2011-05-15
          • 1970-01-01
          • 1970-01-01
          • 2016-07-18
          • 2013-08-15
          • 1970-01-01
          • 2011-04-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多