当前位置:首页 > 数据结构(02331) > 正文内容

假设散列表长为m,散列函数H(K),用拉链法处理冲突。试编写输入一组关键字构造散列表的算法。

假设散列表长为m,散列函数H(K),用拉链法处理冲突。试编写输入一组关键字构造散列表的算法。
【正确答案】:利用拉链法解决冲突构造散列表的算法。 为了描述算法的方便,首选定义散列表中结点类型: #define m HTlen //给定一个表长 #define LEN sizeof(NodeType) typedef struct node{ KeyType key; //KeyType表示关键字的类型,比如int,char等 InfoType otherinfo; struct node*next: }NodeType; void Create HashTable(NodeType*H T[m]) //定义散列表,其实是一个指针数组 { //建立n个结点表长为m的散列表 for(i=1;i<=n;i+4-){ p=(NodeType*)malloc(LEN); scanf("%d",&p一>key); //输入点关键字值,假定为整型 d=f(p一>key); //f为散列函数 p一>next=HT[d]; HT[d]=P; //采用头插法插入结点 } }

扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://20230611.cn/post/433166.html