4

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

map <char, int> dict;

是哈希表吗?

4

4 回答 4

6

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

于 2012-08-31T01:09:08.917 回答
4

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

列出要求的章节std::map23.2.4 Associative ContainersC++11 中。

于 2012-08-31T01:35:41.533 回答
0

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

std::map<char, int> dict;

Achar是键,而 anint是对应的值。

于 2012-08-31T01:03:36.833 回答
0

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

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

于 2012-08-31T05:19:28.157 回答