当前位置:首页 » 存储配置 » 存储待查

存储待查

发布时间: 2023-01-09 08:38:17

㈠ 关于C++中的哈希表


{int elem[MAXSIZE]; //数据元素体
HAVEORNOT elemflag[MAXSIZE]; //元素状态标志,没有记录、有记录、有过记录但已被删除
int count; //哈希表中当前元素的个数
}HashTable;

BOOL DeleteHash(HashTable &H,Record e)
{//在查找成功时删除待删元素e,并返回True,否则返回False
int p;
if(!SearchHash(H,e.keynum,p)) //表中不存在待删元素
return False;
else
{H.elemflag[p]=DELKEY; //设置标志为DELKEY,表明该元素已被删除
H.count--; //哈希表当前长度减一
return True;
}
}

BOOL SearchHash(HashTable H,int k,int &p)
{//在开放寻址哈希表H中查找关键字为k的数据元素,若查找成功,以p指示
//待查数据元素在表中的位置,并返回True;否则,以p指示插入位置,并
//返回False
int p1;
p1=p=Hash(k); //求得哈希地址
while(H.elemflag[p]==HAVEKEY&&k!=H.elem[p])
//该位置中填有记录并且关键字不相等
{p++; //冲突处理方法:线性探测再散列
if(p>=MAXSIZE) p=p%MAXSIZE; //循环搜索
if(p==p1) return False; //整个表已搜索完,没有找到待查元素
}
if(k==H.elem[p]&&H.elemflag[p]==HAVEKEY) //查找成功,p指示待查元素位置
return True;
else return False; //查找不成功
}

热点内容
bat执行sql脚本 发布:2025-07-26 10:22:45 浏览:55
android状态栏导航栏 发布:2025-07-26 10:22:10 浏览:122
tomcat内存配置都有哪些 发布:2025-07-26 10:02:39 浏览:378
sql语句快捷键 发布:2025-07-26 09:59:01 浏览:964
ipad和安卓pad哪个更耐用 发布:2025-07-26 09:58:59 浏览:536
php是不是数字 发布:2025-07-26 09:58:08 浏览:728
云服务器在哪买最划算 发布:2025-07-26 09:55:00 浏览:862
android视频竖屏 发布:2025-07-26 09:52:08 浏览:232
安卓手机哪个街机模拟器最好 发布:2025-07-26 09:50:51 浏览:793
ios手机编程软件 发布:2025-07-26 09:49:20 浏览:489