项目内容
输入10个0-99之间的整数,构造hash表。hash函数自行设计。编写程序实现。
c++代码
使用的线性探测法处理冲突
#include"iostream"
#include <iomanip>
using namespace std;
int main()
{
int hash[10],x,y,i;
cout << "请输入10个0-99之间的整数"<<endl;
for (i = 1; i <= 10; i++)
{
cin >> x;
if (!(x >= 0 && x <= 99))
{
cout << "输入有错" << endl;
return 0;
}
y=x%10;
while (true)
{
if (!(hash[y] <= 99 && hash[y] >= 0))//如果冲突
{
hash[y] = x;
break;
}
else if (++y == 10)
y = 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;
}