博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记部分HASH函数
阅读量:6583 次
发布时间:2019-06-24

本文共 687 字,大约阅读时间需要 2 分钟。

据说使折叠法:

int hashcode(int *v, int k) {
int i, p = 0; for(i = 0; i < k; ++i) {
p = ((p << 2) + (v[i] >> 4))^(v[i] << 10); } p %= MOD; if(p < 0) p += MOD; return p; }

 

ELFhash UNIX系统处理字符串使用的哈希

 

//UNIX系统使用的哈希 int ELFhash(char *key) {
unsigned long h = 0; while (*key) {
h = (h << 4) + *key++; unsigned long g = h & 0xf0000000L; // 1个f,7个0 if (g) h ^= g >> 24; h &= ~g; } return (h+M) % M; // M is Prime } //把数字的转换为字符串 ,进行哈希,以后就不用费心思设计哈希了 int hashcode(const L&a) {
char str[32*8]; char *s = (char*)(&a.d[1]); int i; for (i = 0; i < k-1; i++){
str[i] = 'a' + s[i]; } str[i] = 0; return ELFhash(str); }

转载地址:http://eoxno.baihongyu.com/

你可能感兴趣的文章
控制namenode检查点发生的频率
查看>>
2、递归遍历文件夹下每一个文件
查看>>
Remove auto_increment from Schema Dumps (mysqld...
查看>>
解决activity加上Theme.Translucent.NoTitleBar 页面跳转显示桌面
查看>>
php类库
查看>>
浅谈Java中的对象和引用
查看>>
SQL 注入自我总结
查看>>
Linux线程
查看>>
Exchange Server 2013 系列八:邮箱服务器角色DAG实战
查看>>
一个有趣的命令
查看>>
已发布13集网站开发技术视频:http://blog.sina.com.cn/s/blog_67d27f340102vf7l.html
查看>>
Mysql ibdata 丢失或损坏如何通过frm&ibd 恢复数据
查看>>
MySQL数据库的优化(二)
查看>>
Deepin OS和WIN7双启动 花屏原因一例
查看>>
UIMenuController—为UITextField禁用UIMenuController功能
查看>>
Protobuf使用不当导致的程序内存上涨问题
查看>>
【原创】扯淡的Centos systemd与Docker冲突问题
查看>>
Spring+Mybatis多数据库的配置
查看>>
给大家推荐一个免费下载名称读写ntfs软件的地方
查看>>
在MySQL数据库建立多对多的数据表关系
查看>>