- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 跳表和散列表.doc
第8章 跳表和散列表
程序8.7 散列表类
templateclass T
class HashTable:public DynamicSetT
{
public:
HashTable(int divisor=11);
~HashTable(){delete[]ht;delete[] empty;}
ResultCode Search(T x)const;
ResultCode Insert(T x);
ResultCode Remove(T x);
(
private:
ResultCode Find(T x,int pos)const;
int M;
T *ht;
bool* empty;
};
template class T
HashTableT::HashTable(int divitor)
{
M=divitor
;
ht=new T[M];empty=new bool[M];
for (int i=0;iM;i++)empty[i]=true;
for (i=0;iM;i++) ht[i]=NeverUsed;
}
程序8.8 线性探查散列表的搜索
template class T
ResultCode HashTableT::Find(T x,int pos)const
{
pos=h(x); //设h为散列函数,0(h(x)M
int i=pos,j=-1;
do{
if(ht[pos]==NeverUsed j==-1) j=pos; //记录首次遇到空值的位置
if(empty[pos]) break; //表中没有与x有相同关键字的元素
if(ht[pos]==x) { //ht[pos]的关键字值与x的关键字值相同
x=ht[pos];return Success; //将元素ht[pos]整体赋值给x,搜索成功
}
pos=(pos+1) % M;
}while (pos!=i); //已搜索完整个散列表
if (j==-1) return Overflow; //表已满
pos=j;return NotPresent; //设置首次遇到的空值位置,并返回
}
template class T
ResultCode HashTableT:: Search(T x)const
{
int pos;
if(Find(x,pos)==Success) return Success;
return NotPresent;
}
程序8.9 线性探查散列表的插入
template class T
ResultCode HashTableT:: Insert(T x)
{
int pos;
ResultCode result=Find(x,pos);
if(result==NotPresent){ //如果原表未满且表中不包含重复元素
ht[pos]=x;empty[pos]=false; //将新元素插入首遇的空值处
return Success;
}
if(result==Success)return Duplicate; //指示原表中存在重复元素
return Overflow; //指示原表已满
}
程序8.10线性探查散列表的删除
template class T
ResultCode HashTableT:: Remove(T x)
{
int pos;
if(Find(x,pos)==Success) {
ht[pos]=NeverUsed;return Success;
}
return NotPresent;
}
1
3
您可能关注的文档
最近下载
- 必修一 1.1质点与参考系.pptx VIP
- 网络设备配置与管理项目教程(华为eNSP模拟器版)全册电子课件汇总.pptx
- 2024年新人教版7年级上册英语全册课件(新版教材).pptx
- DM.05 ×× U9 ERP项目-项目日报-年月日.docx VIP
- DM.01 ×× U9 ERP项目-项目章程.pptx VIP
- (含六套期末试卷)七年级下册地理精品学案:第2课时复杂的气候.doc VIP
- DM.18 ×× U9 ERP项目-阶段汇报.pptx VIP
- DM.16.01 ××U9 ERP项目培训计划书.docx VIP
- 标准图集-03J601-2 木门窗(部品集成式).pdf VIP
- 2025年江苏省高考化学试卷真题(含答案及解析).pdf
文档评论(0)