永发信息网

c语言中哈希表删除数据怎么处理

答案:2  悬赏:0  手机版
解决时间 2021-03-21 07:50
  • 提问者网友:酱爆肉
  • 2021-03-20 18:25
c语言中哈希表删除数据怎么处理
最佳答案
  • 五星知识达人网友:佘樂
  • 2021-03-20 18:35
链地址直接删除结点,开地址将那个位置置一个删除标记
全部回答
  • 1楼网友:十年萤火照君眠
  • 2021-03-20 19:38
设计一个哈希表,哈希函数用除留余数法,用开放定址法、线性探测处理冲突,从文本文件读入30个左右中文人名,每行一人,可用本班学生名单。要求: 1.成功的平均查找长度不超过3,能查找人名,能插入新人名,能显示当前哈希表中每个元素,每行显示6个。 2.编写主函数测试这些功能,并统计实际的平均查找长度。用菜单式操作。 3.如果有余力,可以增加删除功能(选做)。 提示: 根据成功的平均查找长度要求和估算公式求出装填因子α上界及哈希表长度m。 #include #include #include //#include #define hash_len 50 //哈希表的长度 #define m 47 #define name_no 30 //人名的个数 typedef struct name { char *py; //名字的拼音 int k; //拼音所对应的整数 }name; name namelist[hash_len]; typedef struct hterm //哈希表 { char *py; //名字的拼音 int k; //拼音所对应的整数 int si; //查找长度 }hash; hash hashlist[hash_len]; void initnamelist() { int i; char *f; int r,s0; namelist[0].py="chenghongxiu"; namelist[1].py="yuanhao"; namelist[2].py="yangyang"; namelist[3].py="zhanghen"; namelist[4].py="chenghongxiu"; namelist[5].py="xiaokai"; namelist[6].py="liupeng"; namelist[7].py="shenyonghai"; namelist[8].py="chengdaoquan"; namelist[9].py="ludaoqing"; namelist[10].py="gongyunxiang"; namelist[11].py="sunzhenxing"; namelist[12].py="sunrongfei"; namelist[13].py="sunminglong"; namelist[14].py="zhanghao"; namelist[15].py="tianmiao"; namelist[16].py="yaojianzhong"; namelist[17].py="yaojianqing"; namelist[18].py="yaojianhua"; namelist[19].py="yaohaifeng"; namelist[20].py="chengyanhao"; namelist[21].py="yaoqiufeng"; namelist[22].py="qianpengcheng"; namelist[23].py="yaohaifeng"; namelist[24].py="bianyan"; namelist[25].py="linglei"; namelist[26].py="fuzhonghui"; namelist[27].py="huanhaiyan"; namelist[28].py="liudianqin"; namelist[29].py="wangbinnian"; for (i=0;i
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯