C语言,哈希表的小问题 5
unsignedHash(char*Key){unsignedHashVal;for(HashVal=0;*Key!='\0';Key++)HashVal=*Key+31...
unsigned Hash(char *Key){
unsigned HashVal;
for(HashVal =0;*Key!='\0';Key++)
HashVal = *Key+31*HashVal; //这里返回了一个整数型的数?,比如我输入Key是madlife,得到的是多少
return HashVal % HASH_SIZE;
}
unsigned SecondaryHash(char *Key){
unsigned HashVal = 0;
while(*Key !='\0' )
HashVal = (HashVal<<5)+*Key++; //这里也不太明白,
return HashVal % HASH_SIZE;
}
这两个到底什么意思,求大神讲解。(在国外上课,语言沟通有点小问题,而且老师这个也没讲, 作业里包括这个) 展开
unsigned HashVal;
for(HashVal =0;*Key!='\0';Key++)
HashVal = *Key+31*HashVal; //这里返回了一个整数型的数?,比如我输入Key是madlife,得到的是多少
return HashVal % HASH_SIZE;
}
unsigned SecondaryHash(char *Key){
unsigned HashVal = 0;
while(*Key !='\0' )
HashVal = (HashVal<<5)+*Key++; //这里也不太明白,
return HashVal % HASH_SIZE;
}
这两个到底什么意思,求大神讲解。(在国外上课,语言沟通有点小问题,而且老师这个也没讲, 作业里包括这个) 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询