编程与数学

1. 累加

先考虑一个简单的例子,数组表示十进制数的每一位,将数组转化为整数形式:

i=0n1num[n1i]10i

for (int i = 0; i < n; ++i)
    x = (x * 10 + num[i]);

再考虑一个相对复杂的情况:

i=0n1Key[n1i]32i

Index Hash(const char* Key, int TableSize){
    unsigned int HashVal = 0;
    while (*Key != '\0'){
        HashVal = (HashVal << 5) + *Key++;
    }
    return HashVal % TableSize;
}
posted on 2016-09-20 15:57  未雨愁眸  阅读(159)  评论(0编辑  收藏  举报