int cal_key(char *key){ unsigned int h = 0; while (*key){ h = (h << 4) + *key++; unsigned int g = h & 0xf0000000L; if (g) h ^= g >> 24; h &= ~g; } return h%PRIME;
这是一段非常好的字符串Hash函数。
int cal_key(char *key){ unsigned int h = 0; while (*key){ h = (h &lt;&lt; 4) + *key++; unsigned int g = h &amp; 0xf0000000L; if (g) h ^= g &gt;&gt; 24; h &am...