BKDRHash
unsigned int BKDRHash(unsigned char *card, int len) { unsigned int seed = 131313; //也可以是 31 131 1313 unsigned int hash = 0; len += 1; while (--len) { hash = hash * seed + card[len-1]; } return hash % 45053; //取一个大素数, 落在了0~45052内, 哈希表长度 45053 }