#include <stdio.h>
#define maxsize 50
typedef struct { int key; int status; }pi;/*成员:key关键字 status状态*/
typedef struct { pi a[maxsize]; int length; }list;
int enter(list& L);
int init(list& L);
int main()
{
list L;
int i;
init(L);
enter(L);
for (i=0;i<L.length;i++)
{
printf("%d ",L.a[i].key);
}
return 0;
}
int init(list& L) /*初始化*/
{
int i,j;
scanf_s("%d",&i);/*确定了输入数据个数及散列表表长*/
L.length = i;
for (j = 0; j < i; i++)
{
L.a[j].status = 0;/*0代表当前空间状态为空*/
}
return 0;
}
int enter(list& L)
{
int i,p,q;
for (i = 0; i < L.length; i++)
{
scanf_s("%d",&p);
q = p % L.length;
if (L.a[q].status== 0)
{
L.a[q].key = p;
L.a[q].status = 1;
}
else {
while (L.a[q].status == 1)
{
q++;
}
L.a[q].key = p;
L.a[q].status = 1;
}
}
return 0;
}
哈希表构建 冲突处理开地址法 线性探测
最新推荐文章于 2021-02-17 12:45:35 发布