博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用再哈希算法查找元素
阅读量:5038 次
发布时间:2019-06-12

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

使用再哈希算法查找元素:

/*  hash search, using rehash method if find k, return  if not find, d=(d+step)%m, rehash find */int SearchHash(HashTable H, KeyType k){        int d, d1, m;        m = H.tableSize;        d = d1 = k%m;        while(H.data[d].key != -1)        {                if(H.data[d].key == k) //hunt                         return d;                else                        d = (d+1)%m;                if(d==d1)                                return -1; //fail        }        return -1;}
int main(int argc, char *argv[]){        int hash[] = {23, 35, 12, 56, 123, 39, 342, 90};        int m=11, p=11, n=8, pos;        int key, index;        HashTable H;        CreateHash(&H, m, p, hash, n);        key = 123;        index = SearchHash(H, key);        if(index < 0)        {                printf("find failed!\n");                return -1;        }        printf("key:%d, index:%d\n", key, index);        return 0;}
输出结果:

root@ubuntu:/mnt/shared/appbox/hash# ./hash[line:59] addr:1, i=0, key=23[line:59] addr:2, i=1, key=35[line:70] di:3, i=2, key=12[line:70] di:4, i=3, key=56[line:70] di:5, i=4, key=123[line:59] addr:6, i=5, key=39[line:70] di:7, i=6, key=342[line:70] di:8, i=7, key=90hash index:     0    1    2    3    4    5    6    7    8    9    10   key value:      -1   23   35   12   56   123  39   342  90   -1   -1   hash times:     0    1    1    3    4    4    1    7    7    0    0    key:123, index:5root@ubuntu:/mnt/shared/appbox/hash#

转载于:https://www.cnblogs.com/mengfanrong/p/5108658.html

你可能感兴趣的文章
编译Linux驱动程序 遇到的问题
查看>>
大型分布式网站架构技术总结
查看>>
HDU 1017[A Mathematical Curiosity]暴力,格式
查看>>
[算法之美] KMP算法的直观理解
查看>>
EntityFramework 性能优化
查看>>
【ASP.NET开发】菜鸟时期的ADO.NET使用笔记
查看>>
android圆角View实现及不同版本号这间的兼容
查看>>
OA项目设计的能力③
查看>>
Cocos2d-x3.0 文件处理
查看>>
全面整理的C++面试题
查看>>
Web前端从入门到精通-9 css简介——盒模型1
查看>>
Activity和Fragment生命周期对比
查看>>
OAuth和OpenID的区别
查看>>
android 分辨率自适应
查看>>
查找 EXC_BAD_ACCESS 问题根源的方法
查看>>
国外媒体推荐的5款当地Passbook通行证制作工具
查看>>
日常报错
查看>>
list-style-type -- 定义列表样式
查看>>
hibernate生成表时,有的表可以生成,有的却不可以 2014-03-21 21:28 244人阅读 ...
查看>>
mysql-1045(28000)错误
查看>>