C ++中的地图数据结构是什么

时间:2012-08-31 01:02:18

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

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

map <char, int> dict;

是哈希表吗?

4 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:4)

该标准未对std::map强加任何具体实施。它只提供所需的操作及其复杂性。这些因素导致实际的实施选择,通常为Red-black Tree

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

答案 2 :(得分:0)

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

std::map<char, int> dict;

char是关键,而int是相应的值。

答案 3 :(得分:0)

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

这就是为什么你可以按升序迭代它,而关键对象必须有运算符&lt;超载。