哈希表创建、查找、插入操作 《大话数据结构》 c++代码实现

散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每一个关键字key对应一个存储位置(key)。            存储位置=f(关键字)

其中,f被称为散列函数,又被称为哈希函数。采用散列技术将记录存储在一块连续的存储空间中,这块连续的存储空间成为散列表或者哈希表。

//哈希散列表
#include<iostream>

using namespace std;

typedef int status;

#define success 1
#define unsuccess 0
#define ok 1
#define false 0

typedef int status;

#define hashsize 12   //定义散列表为数组的长度
#define nullkey -32768


//哈希表结构定义
typedef struct Hashtable 
{
	int *elem;   //数据元素存储基址,动态分配数组
	int count;    //当前数据元素个数
}Hashtable;
int m=0;  //散列表的表长,全局变量



//操作
status Inithashtable(Hashtable *H);
int Hash(int key);
void Inserthash(Hashtable *H,int key);
status Searchhash(Hashtable H,int key,int *addr);
void Createhash(Hashtable H,int a[],int n);
void Showhash(Hashtable H);


 //初始化散列表
status Inithashtable
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值