C ++,什么是散列数组数据的好方法?

时间:2010-02-18 02:03:37

标签: c++ hash arrays types

我有一个奇怪的问题,我正在集思广益,可能的解决方案。问题是这样的:我有许多输入(最多几千个不同的输入),它们在两三个数组中基本不同(数组通常是不同的大小,从大小一到多千个元素长)。处理数组的函数需要一些时间来初始化数据,所以我想将函数/仿函数与数据一起缓存并将它们存储在地图中。

现在,我如何将原始数组转换为可用的哈希表类型?我最初认为将数组读入字符串并使用字符串作为键。这是个好主意吗?你有更好的建议吗?

1 个答案:

答案 0 :(得分:2)

这些数组是整数吗?如果是的话,请选择类似的内容

hash = (hash + (324723947 + a[i])) ^93485734985;

如果对所有字符执行此操作,类似的东西对字符串都可以正常工作。 最后,您可以查看extra libs here