在C ++中使用以下代码行的数据结构是什么?
map <char, int> dict;
是哈希表吗?
答案 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;超载。