【问题描述】
利用哈希表进行存储。
【任务要求】
任务要求:针对一组数据进行初始化哈希表,可以进行显示哈希表,查找元素,插入元素,删除元素,退出程序操作。
设计思想:哈希函数用除留余数法构造,用线性探测再散列处理冲突。
设计目的:实现哈希表的综合操作
简体中文控制台界面:用户可以进行创建哈希表,显示哈希表,查找元素,插入元素,删除元素。
显示元素:显示已经创建的哈希表。
查找元素:查找哈希表中的元素,分为查找成功和查找不成功。
插入元素:在哈希表中,插入一个元素,分为插入成功和失败。
删除元素:在已有的数据中,删除一个元素。
退出系统:退出程序。
【测试数据】
自行设定,注意边界等特殊情况。
【功能扩展】
- 增添哈希关键字的冲突次数
- 根据哈希函数的定义(除留余数法) 哈希地址 = 关键字数值 % 哈希表表长 ,
哈希表表长通常为1.1n-1.7n之间的最大素数值,
即根据键盘输入的关键字个数,动态分配结构体数组的长度,从而创建哈希表,
取消原有的宏定义哈希表长度为具体的数值。
详细设计(包括数据结构的类型定义,每个操作的算法描述)
定义Word和HASH两个结构体,Word包含:”从键盘输入的数值“,HASH包含:”关键字和搜索次数(即冲突次数),同时宏定义一个NULLKEY值为空。