我的配置文件上有100个值。 每个值都是由2个字符组成,可以是90或AA或04或TR或FE
我想生成每个值的哈希码-并将它们存储在包含100个元素的数组中,并且配置中的每个值都将保存在数组的哈希码索引中。
问题:
如何从2个字符(哈希码限制在0到99之间)中创建哈希码
答案 0 :(得分:2)
在特定情况下(将固定的2字节序列集映射到连续数字)所需要的称为perfect hashing。
虽然您可以自己实现,但有一个名为gperf的开源工具可以为您生成代码:
有一些选项可用于生成C或C ++代码,发出switch语句或嵌套的ifs(而不是哈希表)以及调整gperf使用的算法。