#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <dos.h>
#include <conio.h>
#define N 10000
using namespace std;
void random(int r[]);
void close(int r[],int H[]);
void search1(int H[],int x);
int sushu(int x);
int main()
{
int r[N],H[N],i,x;
time_t first, second;
for(i=0;i<N;i++)
H[i]=0;
random(r);
for(i=0;i<N;i++)
cout<<r[i]<<endl;
cout<<endl;
close(r,H);
cout<<"请输入你要查找的位置:";
cin>>x;
first=time(NULL);
for(i=0;i<1000000;i++)
search1(H,r[x]);
second=time(NULL);
cout<<endl<<"搜索闭散列表时间为:"<<difftime(second,first)<<"us";
return 0;
}
void random(int r[])
{
int i;
for(i=0;i<N;i++)
{
r[i]=rand();
}
}
void close(int r[],int H[])
{
int i,p,s;
for(s=N;s>1;s--)
{
if(sushu(s))
break;
}
for(i=0;i<N;i++)
{
p=r[i]%s;//s为散列因子
while(H[p]!=0)
p++;
H[p]=r[i];
}
}
void search1(int H[],int x)
{
int p,s;
for(s=N;s>1;s--)
{
if(sushu(s))
break;
}
p=x%s;
while(H[p]!=x)
p++;
//cout<<H[p]<<' ';
}
int sushu(int x)
{
int i,s;
s=(int)sqrt(x);
for(i=2;i<=s;i++)
{
if(x%i==0)
return 0;
}
return 1;
}
in_hash.rar_hash取模
版权申诉
102 浏览量
2022-09-23
13:16:08
上传
评论
收藏 675B RAR 举报
JaniceLu
- 粉丝: 79
- 资源: 1万+
最新资源
- 基于matlab实现字符识别的参考程序,用所用的字体识别率挺高,部分手写的也能识别,但是还不能识别扭曲和倾斜的字符 .rar
- 基于matlab实现指纹识别系统 包括数据库导入、图像选择识别、帮助功能、识别图像可视、gabor滤波可视,实现界面操作.rar
- 基于matlab实现指纹识别,利用gabor滤波器,提取指纹特征,只能呢读取bmp图像.rar
- 基于matlab实现于数字图像相关方法中散斑质量评价
- 基于matlab实现遗传算法和佳点集遗传算法的基本思想和不同点,用遗传算法测试一标准函数 佳点集算法测试一标准函数
- tensorflow-gpu-2.5.1-cp38-cp38-manylinux2010-x86-64.whl
- tensorflow-gpu-2.5.0-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-gpu-2.5.2-cp39-cp39-manylinux2010-x86-64.whl
- 内含方正小标宋简体、仿宋-Gb2312、黑体、楷体、宋体,五个公文常用字体
- 记忆卡牌游戏源码及可运行文件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈