C++实现哈希表的创建,销毁,键值插入与删除

本文详细介绍了如何使用C++实现哈希表的创建、销毁、键值对的插入和删除操作。通过理解哈希函数和解决冲突的方法,读者将能掌握基本的哈希表操作技巧。
摘要由CSDN通过智能技术生成

/*
* HashTable.h
*
*  Created on: Nov 19, 2015
*      Author: chris
*/

#pragma once

#include <iostream>

const int numofsizes = 7;
const int hashsize[] = { 11, 19, 31, 41, 53, 61, 71 };

typedef int KeyType;
typedef int ElemType;

struct HashCell{
	bool null_key;
	KeyType key;
	HashCell() : null_key(true), key(0) {}
};

struct HashTable{
	HashCell * cells;
	int count;
	int sizeindex;
};


bool HashTableInit(HashTable & H);
void HashTableDestroy(HashTable & H);

int  HashTableHashKeyDirectAddr(HashTable & H, KeyType K);

bool HashTableSearchKey(HashTable & H, KeyType K, int& p, int& c);
bool HashTableInsertKey(HashTable & H, KeyType K);
bool HashTableDeleteKey(HashTable & H, KeyType K);

void HashTableDisplay(HashTable & H);



/*
* HashTable.cpp
*
*  Created on: Nov 19, 2015
*      Author: chris
*/


#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值