一句话的意思
static
Hash(char *string, int len)
{
int h;
h = 0;
while (len--)
h = (h << 3) ^ *string++;
if (h < 0)
return -h;
return h;
}
这是一个哈希函数的算法,这之中 h = (h << 3) ^ *string++;是什么意思?
Hash(char *string, int len)
{
int h;
h = 0;
while (len--)
h = (h << 3) ^ *string++;
if (h < 0)
return -h;
return h;
}
这是一个哈希函数的算法,这之中 h = (h << 3) ^ *string++;是什么意思?
作者: 释梵 发布时间: 2009-10-16
LZ 不会不懂 C语言吧?
= 是赋值运算,<< 是左移运算,^ 是异或运算,* 是指针 dereference 运算,++ 是后缀自增运算,这还会有疑问的?
= 是赋值运算,<< 是左移运算,^ 是异或运算,* 是指针 dereference 运算,++ 是后缀自增运算,这还会有疑问的?
作者: prinse 发布时间: 2009-10-27
[url][/url]
作者: 棉袄加短裤 发布时间: 2010-09-25