从字符串hash到32位unsigned int
/* hash: compute hash value of string */ unsigned int hash(char *str) { unsigned int h; unsigned char *p; const unsigned int multiplier = 37; //或31 h = 0; for (p = (unsigned char*)str; *p != '\0'; p++) h = multiplier * h + *p; return h; }