我创建了一个数组,其中每个索引都包含一堆链表。这是实现哈希表所必需的。 我如何使用它的一个例子是:
std::list<string> listArray[sizeOfTable];
这是正确的用法吗?以及如何显示此哈希表的内容?
答案 0 :(得分:1)
是的,你可以这样做。
要显示您自己必须编写一些代码的内容,可能是这样的:
for (auto& bucket: listArray) {
for (auto& item: bucket) {
cout << "item: " << item << endl;
}
}
当然,我假设您不想使用std::unordered_map
(这是一张有桌子),这是有充分理由的。
答案 1 :(得分:0)
你可以这样做,但我相信更好的选择是使用std::vector
。向量是动态扩展数组,您将能够以这种方式处理哈希表重新调整大小。
至于第二个问题 - 要显示哈希表内容,你将不得不迭代数组,对于每个单元格,你将不得不迭代给定单元格中的列表(大多数单元格将为空但是不是问题。)