当前位置:网站首页>7-42 整型关键字的散列映射 (25 分)
7-42 整型关键字的散列映射 (25 分)
2022-08-02 02:56:00 【兄dei!】
原题:https://pintia.cn/problem-sets/15/problems/889
本题是考察对哈希表的理解,这里面哈希函数是用的除留余数法。【H(key)=key%p】除留余数法的关键在于找到那个余数p;题中已经给出。
规定处理哈希冲突的方法是线性探测法,就是简单地加一就行了。
#include<stdio.h>
#include<stdlib.h>
typedef struct h{
int *data;
int TableSize;
}*HashList;
HashList creat(int p)
{
int i;
HashList H=(HashList)malloc(sizeof(HashList));
H->TableSize=p;
H->data=(int*)malloc(sizeof(int)*H->TableSize);
for(i=0;i<p;i++)H->data[i]=0;//初始化0是空
return H;
}
int Findindex(HashList H,int key)//线性探测处理哈希冲突,找到合适的位置,并且返回它
{
int index=key%H->TableSize;
//找空位,如果在找的过程中碰到它本身,直接退出就行了。
while(H->data[index]!=0&&H->data[index]!=key)
{
index++;
if(index==H->TableSize)index=0;//如果满了就从头开始找
}
return index;
}
int insert(HashList H,int key)
{
int index=Findindex(H,key);//先找一个合适的位置
H->data[index]=key;
return index;
}
int main()
{
int i,N,P,key;
scanf("%d%d",&N,&P);
HashList H=creat(P);
for(i=0;i<N;i++)
{
scanf("%d",&key);
int x=insert(H,key);
if(i==0)
printf("%d",x);
else
printf(" %d",x);
}
return 0;
}
边栏推荐
猜你喜欢
1. 获取数据-requests.get()
WebShell连接工具(中国菜刀、WeBaCoo、Weevely)使用
面试必备!TCP协议经典十五连问!
analog IC layout
01-Node-Express系统框架搭建(express-generator)
Chapter 10_Index Optimization and Query Optimization
Istio微服务治理网格的全方面可视化监控(微服务架构展示、资源监控、流量监控、链路监控)
Go语学习笔记 - gorm使用 - 表增删改查 Web框架Gin(八)
WebShell特征值汇总与检测工具
Common SQL interview questions: 50 classic examples
随机推荐
MySQL8.0.28安装教程
WebShell connection tools (Chinese kitchen knife, WeBaCoo, Weevely) use
feign调用不通问题,JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
2022牛客多校三_F G
cadence landscape bindkey
KICAD 小封装拉线卡顿问题 解决方法
【LeetCode】145.二叉树的后序遍历
Duplicate entry ‘XXX‘ for key ‘XXX.PRIMARY‘解决方案。
01-Node-Express系统框架搭建(express-generator)
合奥科技网络 面试(含参考答案)
【LeetCode】83.删除排序链表中的重复元素
PHP WebShell 免杀
MySQL8.0.28 installation tutorial
【CNN记录】tensorflow slice和strided_slice
【Koltin Flow(三)】Flow操作符之中间操作符(一)
EasyGBS平台播放视频时偶尔出现播放失败是什么原因?
【LeetCode】104. Maximum depth of binary tree
KICAD 拉线宽度无法修改,解决方法
7、MySQL Workbench 导出导入数据库
第11章_数据库的设计规范