实现哈希表的相关运算算法

/**
*    实验题目:
*        实现哈希表的相关运算算法
*    实验目的:
*        领会哈希表的构造和查找过程及其相关算法设计
*    实验内容:
*        设计程序,实现哈希表的相关运算,并完成如下功能:
*    1、建立关键字序列(16, 74, 60, 43, 54, 90, 46, 31, 29, 88, 77)对应的哈希
*    表A[0..12],哈希函数为H(k)=k%p,并采用开放地址法中的线性探测法解决冲突
*    备注:
*        这里的哈希表A[0..12],m=13,取p=m=13,哈希函数H(k)=k%13
*    解决冲突的线性探测法是:d(0)=H(k),d(i+1)=(d(i)+1)%m
*    2、在上述哈希表中查找关键字为29的记录
*    3、在上述哈希表中删除关键字为77的记录,再将其插入
*/

#include <stdio.h>

#define MAX_SIZE (100)                                // 定义最大哈希表长度
#define NULL_KEY (-1)                                 // 定义空关键字值
#define DEL_KEY  (-2)                                 // 定义被删关键字值

typedef int key_type;                                 // 关键字类型
typedef char info_type;                               // 其他数据类型
typedef struct {
    key_type key;                                     // 关键字域
    info_type data;                                   // 其他数据域
    int det_times;                                    // 探测次数域
}HashTable;                                           // 哈希表元素类型

/*---------------将关键字为key的记录插入到哈希表中-------------*/
void insert_ht(HashTable ha[], int &n, int m, int p, key_typ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值