C++类实现hash表的抽象数据结构(链式解决冲突)

//--------------------------------------------------------------------------//本例中采用链式解决冲突,便于查找//hash表适合存储和查找操作//构建hash要尽量减少冲突,hash表空间开的大一点,用空间换时间//hash表的一种变种是位图表,stl中的bitmap<>,多用于大数据查找问题//-------
摘要由CSDN通过智能技术生成
//--------------------------------------------------------------------------
//本例中采用链式解决冲突,便于查找
//hash表适合存储和查找操作
//构建hash要尽量减少冲突,hash表空间开的大一点,用空间换时间
//hash表的一种变种是位图表,stl中的bitmap<>,多用于大数据查找问题
//---------------------------------------------------------------------------

#ifndef _HASH_H
#define _HASH_H
#include<iostream>
using namespace std;

const int HASH_SIZE = 11;
typedef struct linknode{
	int data;
	struct linknode *next ;
}hashnode,*phashnode;

class HASH{
public:
	phashnode initHash();                                        //hash表的初始化
	void createHash(int arr[], int size, phashnode _hash);       //hash表的构建
	int hash_func(int value);                                    //hash函数
	int searchHash(phashnode _hash, int value);                  //hash表的查找
};

phashnode HASH::initHash() {
	int i;
    phashnode myhash= new hashnode[HASH_SIZE];
	if(!myhash) {
		return NULL;
	}
	for(i=0;i<HASH_SIZE;++i) {
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值