数据结构实验9
7-1 整型关键字的散列映射
给定一系列整型关键字和素数 p,用除留余数法定义的散列函数 H(key)=key%p 将关键字映射到长度为 p 的散列表中。用线性探测法解决冲突。
输入格式:
输入第一行首先给出两个正整数 n(≤1000)和 p(≥n 的最小素数),分别为待插入的关键字总数、以及散列表的长度。第二行给出 n 个整型关键字。数字间以空格分隔。
输出格式:
在一行内输出每个整型关键字在散列表中的位置。数字间以空格分隔,但行末尾不得有多余空格。
输入样例:
4 5
24 15 61 88
输出样例:
4 0 1 3
`#include
include
using namespace std;
int main(){
int n,p;
scanf("%d%d",&n,&p);
vector
while(n--){
int x;
cin>>x;
if(a[x%p]==-1)a[x%p]=x,cout<<x%p;
else{
int i=x%p;
while(a[i]!=-1&&a[i]!=x){
i=(i+1)%p;
}
a[i]=x;
cout<<i;
}
if(n>0)cout<<' ';
}
return 0;
}`
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统