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 << 4) + *key++;
unsigned int g = h & 0xf0000000L;
if (g) h ^= g >> 24;
h &= ~g;
}
return h%PRIME;