习题-4.c

来自「数据结构经典算法」· C语言 代码 · 共 24 行

C
24
字号
//本程序只给出了算法思想
//读者可以自己完善本程序
typedef *LNode[MAXSIZE] CHashTable; //链地址Hash表类型 
Status Build_Hash(CHashTable &T,int m)
//输入一组关键字,建立Hash表,表长为m,用链地址法处理冲突.
{
	if(m<1) return ERROR;
	T=malloc(m*sizeof(WORD)); //建立表头指针向量
	for(i=0;i<m;i++) T[i]=NULL;
	while((key=Inputkey())!=NULL) //假定Inputkey函数用于从键盘输入关键字
	{
		q=(LNode*)malloc(sizeof(LNode));
		q->data=key;q->next=NULL;
		n=H(key);
		if(!T[n]) T[n]=q; //作为链表的第一个结点
		else
		{
			for(p=T[n];p->next;p=p->next);
			p->next=q; //插入链表尾部.本算法不考虑排序问题.
		}
	}//while
	return OK;
}//Build_Hash

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?