欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

散列函数的三种简单实现

程序员文章站 2024-03-22 09:32:40
...

散列函数一

unsigned int Hash(const char *Key,int TableSize)
{
    unsigned int HashVal = 0;
    while(*Key != '\0')
        HashVal += *Key++;
    return HashVal % TableSize;
}

散列函数二

unsigned int Hash(const char *Key,int TableSize)
{
    return (Key[0] + 27*Key[1]+729*Key[2]) % TableSize;
}

散列函数三

unsigned int Hash(const char *Key,int TableSize)
{
    unsigned int HashVal = 0;
    while(*Key != '\0')
        HashVal = (HashVal << 5) + *Key++;
    return HashVal % TableSize;
}