//删除哈希表元素
int DEL_HashTable(HashTable *hash, int key, int address)
{
int result = searchHash(hash, key,address);
if(result == 1)//查找数据成功,将地址置为空
{ //在显示哈希表时读到NULLKEY就会显示地址元素为空
hash->elem[address] = NULLKEY;//为什么在这里直接赋值空关键字删除元素不成功?
hash->count--;
// free(hash->elem[address]);
printf("删除成功!\n");
// searchHash(hash, key,address);
return 1;//成功删除元素
}
else
{
printf("删除失败!\n");
return 0;//没有找到数据,删除失败
}
}
NULLKEY是空关键字
运行结果: