[数据结构]Hash查找算法设计
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[数据结构]Hash查找算法设计相关的知识,希望对你有一定的参考价值。
实验名称
Hash查找算法设计
实验内容
输入10个0-99之间的整数,构造hash表。采用除留余数法构造哈希函数,处理冲突的方法是线性探测法。注: 测试数据必须有产生冲突的情况
效果展示
源码
/*
hash查找算法设计:输入10个0-99之间的整数,构造hash表。
hash函数自行设计,处理冲突的方法是线性探测法。
编写程序实现。
注:测试数据必须有产生冲突的情况。
*/
#include<iostream>
#include <iomanip>
using namespace std;
int main()
int hash[10], number, item, i;
cout << "请输入10个0-99之间的整数!" << endl;
for (i = 1; i <= 10; i++)
cout << "第"<<i<< "个数:" ; //输入提示
cin >> number;
//判断输入的数据是否符合要求,不符合要求则继续输入
if (!(number >= 0 && number <= 99))
cout << "您输入的数据有误,请重新输入!!!" << endl;
i--;
continue;
//求输入数的余数
item = number % 10;
while (true)
if (!(hash[item] <= 99 && hash[item] >= 0)) //如果冲突
hash[item] = number;
break;
else if (++item == 10) //哈希表到尾,从头开始
item = 0;
cout << "生成的哈希表如下:" << endl;
for (i = 0; i < 10; i++)
cout << setw(4) << i << "|";
cout << endl << " _________________________________________________" << endl;
for (i = 0; i < 10; i++)
cout << setw(4) << hash[i] << "|"; //hash表生成完毕
return 0;
以上是关于[数据结构]Hash查找算法设计的主要内容,如果未能解决你的问题,请参考以下文章