C哈希表库本身支持每个键的多个值

时间:2011-11-08 00:07:22

标签: c hashtable

如果要为键存储多个值,则始终可以在哈希表和值之间填充列表。但是,我觉得这样效率很低,如:

哈希表必须解决冲突,无论如何,某种列表行走也是如此。它不是在找到与查询键匹配的存储桶中的第一个键时停止,而是可以继续走动存储桶,可能会提供更好的缓存性能,而不是在执行另一个间接之后再行进另一个列表。

是否有人知道默认支持这种情况的库实现(理想情况下还有闪亮,快速,哈希表以及BSD或类似许可)?我查看了几个库,但没有一个做我想要的,glib的datasets最接近,虽然存储记录,而不是列表。

1 个答案:

答案 0 :(得分:1)

那么......就像multimap

<Libgee建立在GLib之后,提供MultiMap。 (它是用Vala编写的,但是转换为普通的C.)