1. 累加
先考虑一个简单的例子,数组表示十进制数的每一位,将数组转化为整数形式:
for (int i = 0; i < n; ++i)
x = (x * 10 + num[i]);
再考虑一个相对复杂的情况:
Index Hash(const char* Key, int TableSize){
unsigned int HashVal = 0;
while (*Key != ' '){
HashVal = (HashVal << 5) + *Key++;
}
return HashVal % TableSize;
}