【文件属性】:
文件名称:linux下C实现的哈希表
文件大小:3KB
文件格式:C
更新时间:2015-08-31 05:26:07
hash
用C实现的哈希表
int hash_insert(Hash* * hp,int data)//返回0表示成功
{
if((*hp) == NULL)return 1;
if(((*hp)->num)==14)
{
printf("hash full\n");
return 1;//哈希表满了
}
if((*hp)->pNode[KEY(data)].data==8888)//可以直接插入
{
((*hp)->pNode[KEY(data)]).data=data;
}
else //不可以直接插入,需要再散列
{
int num=KEY(data);
printf("num=%d\n",data);
int i=1;
do
{
num=(num+i*i);
i++;
}while(((*hp)->pNode[num]).data!=8888);
((*hp)->pNode[num]).data=data;
}
((*hp)->num)++;
return 0;
}
网友评论
- 好东西 不过当index大点的时候要报错哦