题目:
假设哈希表长为m,哈希函数为H(x),用链地址法处理冲突,请写一输入一组记录的关键字建造哈希表的算法。并程序实现
谁能把程序帮我改改 还有7个错误 实现上面题目所要实现的
#include<iostream.h>
#include<malloc.h>
#include<stdio.h>
#include<stdlib.h>
#define Max 6
#define Hashmax 5
int data[Max];
struct list
{
int key;
struct list *next;
};
typedef struct list node;
typedef node*link;
link hasntab[Hashmax];
int counter=1;
int hash_mod(int key)
{return key%Hashmax;
}
void insert_hash(int key)
{
link p,new1;
int index;
//int hashtab[index]
new1=(link)malloc(sizeof(node));
new1->key=key;
new1->next=NULL;
index=hash_mod(key);
new1->next=hashtab[index];
hashtab[index]=new1;
}
int hash_search(int key)
{link p;
int index;
counter=0;
index=hash_mod(key);
p=hashtab[index];
printf("Data[%d]:",index);
while (p)
{
counter++;
printf("[%d]",p->key);
if(p->key==key)
return 1;
else
p=p->next;
}
return 0;
}
---------------------------------------------------
感谢感谢~!!!