Yinzhien 2022-03-04 17:49 采纳率: 87.5%
浏览 46
已结题

哈希表对元素的删除,哪里有问题?为什么直接赋值空关键字无法替换原有元素?

img


 //删除哈希表元素
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是空关键字

运行结果:

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 3月12日
    • 修改了问题 3月5日
    • 修改了问题 3月4日
    • 修改了问题 3月4日
    • 展开全部

    悬赏问题

    • ¥100 c++集成继承python解析器遇到问题
    • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
    • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
    • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
    • ¥15 excel 上下按钮 显示行
    • ¥20 云卓h12pro 数传问题
    • ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
    • ¥20 海思 nnie 编译 报错
    • ¥50 决策面并仿真,要求有仿真结果图
    • ¥15 关于路由器的路由协议配置