#include<stdio.h>
int main()
{
int i,j=0,a[50][10]={0},m,n,key,b[50]={0}; //m为哈希表长度,n为关键字的个数
scanf("%d %d",&m,&n);
for(i=0;i<n;i++)
{
scanf("%d",&key);
a[key%m][b[key%m]++]=key; //将同一类型关键字放入同一行。
}
scanf("%d",&key);
for(i=0;i<n;i++)
{
if(a[key%m][i]==key){
printf("%d,%d",key%m,i+1); //查找对应的关键字时直接遍历该行数,并输出在二维数组中所在位置与查找次数
j++;
break;
}
}
if(j==0) printf("-1"); //如果没有找到,则输出-1
return 0;
}`
哈希表(链地址法处理冲突)(oj 1012)(歪门做法:二维数组)
最新推荐文章于 2024-06-27 10:50:08 发布
本文介绍了一种使用哈希表进行数据存储和查找的方法。通过定义哈希函数,将关键字映射到哈希表中,实现了对关键字的快速查找。代码示例展示了如何创建一个二维数组作为哈希表,如何插入关键字以及如何根据关键字进行查找。
(oj 1012)(歪门做法:二维数组)&spm=1001.2101.3001.5002&articleId=89684218&d=1&t=3&u=386d1e37f1fc46d8b00d0c939c2d6b95)
9157

被折叠的 条评论
为什么被折叠?



