我期待創建一個簡單的C++散列函數,它將基於字符串輸入返回一個最大範圍內的數字。所以,相同的字符串將始終返回相同的整數值。下面是一個任意的例子,其中最大期望的範圍是36散列函數,可以返回一個基於字符串的整數範圍
Fred Smith -> 25
tree -> 34
Frog -> 0
Fred Smith -> 25
fred smith -> 7
這些數字是任意的,但該函數應使用一個算法,確實對字符串和結果的數值計算在限定的範圍內的整數。我最終會重寫這個函數以供在Python 2.7中使用。
我使用vs2008(aka C++ 9)和std :: hash不可用。
我需要一些關於該方法的建議。
像FNV這樣的標準哈希有什麼問題? –
只需'hash(somestring)%hash_upper_bound'? – Paul
剛剛發現std :: hash在vs2008中並不是很容易獲得 – panofish