如果您想为一个键存储多个值,总是可以在哈希表和值之间塞入一个列表。但是,我认为这是相当低效的,因为:
无论如何,哈希表必须解决冲突,某种列表遍历也是如此。当它在存储桶中找到与查询键匹配的第一个键时,它不会停止,而是可以继续遍历存储桶,这可能比在遵循另一个间接寻址后遍历另一个列表提供更好的缓存性能。
有没有人知道默认支持此功能的库实现(理想情况下,它们也很 Shiny 、快速、哈希表以及 BSD 或类似许可)?我浏览了几个库,但没有一个是我想要的,glib 的 datasets最接近,但存储记录,而不是列表。
最佳答案
关于C 哈希表库 native 支持每个键的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8044429/