全文预览

哈希表的设计与实现

上传者:upcfxx |  格式:docx  |  页数:23 |  大小:0KB

文档介绍
ext指针是用来指向下一个结点的地址。 uns ign ed intk ey和 uns ign ed intk ey2 分别被定义为电话号码和用户名关键字。程序的主要模块如下: ***** 串***************** *程序部分源代码中串*串*串*串*串*丰***** ******* * 1、建立节点 st ru ct node H 建节点 c har name[ 8 ],address[2 0 矿/ 节点中要包含用户名,用户地址,电话号码以及指向下一个结点的指针 char num(ll]; node * next; typed ef node* pnode; // typedef 可以为一个己有的数据类型声明多个别名,这里为该类型声明了两个指针 typed ef node* mingzi; node ** pho ne; node 肺 nam; node *a; 2、对哈希函数的定义本程序要设计两个 hashO 函数,分别对应电话号码和用户名。本设计中对散列函数选择的是除留余数法,即对关键字进行模运算, 将运算结果所得的余数作为关键字(或结点〉的存储地址,即H (k ey)=k eymodp , 本设计中p 取 20, 然后将计算出来的数作为该结点的地址赋给 key。具体方法如下:以电话号码为关键字建立哈希函数 hash( char num[11。以用户名为关键字建立哈希函数 bash2( char name[8。利用强制类型转换,将用户名的每一个字母的 ASCLL 码值相加并且除以 20后的余数。将计算出来的数作为该结点的地址赋给 k ey2 。************** ********* *程序部分源代码* 牢牢牢牢牢牢牢牢牢牢串串串串串串串串*本*本*中 a),? oid hash(c har num[l l ]) II 以电话号码为关键字建立哈希函数

收藏

分享

举报
下载此文档