ELF Hash Function(哈希表处理字符串)
2012-11-01 08:07
246 查看
[cpp] view plaincopyprint? 01.C/C++ code [cpp] view plaincopyprint? 01.unsigned int ELFHash( char * str) 02.{ 03. unsigned int hash = 0 ; 04. unsigned int x = 0 ; 05. while ( * str) 06. { 07. hash = (hash < < 4 ) + ( * str ++ ); //hash值左移4位加上一个字符 08. if ((x = hash & 0xF0000000L ) != 0 )//判断hash值的高4位是否不为0,因为不为0时需要下面特殊处理,否则上面一步的左移4位会把这高四位给移走,造成信息丢失 09. { 10. hash ^= (x >> 24 ); //把刚才的高4位跟hash的低5-8位异或 11. hash &= ~ x; //把高4位清0 12. } 13. } 14. return (hash & 0x7FFFFFFF ); //希望hash值是一个非负数 15.}
相关文章推荐
- 哈希表对字符串的高效处理
- ext/hash_map:进一步提高字符串为键的哈希表的性能
- 面试OR笔试18——哈希表处理字符串
- ELFhash字符串散列函数——HDU1004
- 字符串哈希之ELFHash,poj2503
- 哈希表对字符串的高效处理2:在一个字符中删除第二个字符出现过的所有字符
- PHP - Manual手册 - Function Reference函数参考 - Text Processing文本处理 - Strings字符串 - String Functions字符串函数 - strip_tags字符串中去除HTML和PHP标记
- 字符串Hash函数(ELFhash)
- 哈希表对字符串的高效处理3:实现一个听高级的字符匹配算法
- 哈希表对字符串的高效处理4:删除字符串中重复出现的字符
- 哈希表对字符串的高效处理1:在一个字符串中找到第一个只出现一次字符
- 哈希表对字符串的高效处理5:名字的最大漂亮度
- Redis对字符串、Hash(对象)、列表(List)处理的操作命令
- 哈希表对字符串的高效处理
- 字符串hash处理方式
- 哈希表对字符串的高效处理
- ELFhash - 优秀的字符串哈希算法
- ELFHash字符串Hash算法
- poj 3087 模拟(ELFHash模版,字符串哈希)
- 哈希表对字符串的高效处理6:判断两个单词是否为变位词