ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

整数关键字映射

2021-12-08 23:01:35  阅读:93  来源: 互联网

标签:hash 映射 int 整数 列表 空格 关键字 整型


给定一系列整型关键字和素数P,用除留余数法定义的散列函数H(Key)=Key将关键字映射到长度为P的散列表中。用线性探测法解决冲突。

输入格式:

输入第一行首先给出两个正整数N(≤1000)和P(≥N的最小素数),分别为待插入的关键字总数、以及散列表的长度。第二行给出N个整型关键字。数字间以空格分隔。

输出格式:

在一行内输出每个整型关键字在散列表中的位置。数字间以空格分隔,但行末尾不得有多余空格。

输入样例:

4 5
24 15 61 88
  结尾无空行

输出样例:

4 0 1 3
  结尾无空行   答案: 复制代码
#include<stdio.h>
int hash[1050],n;
int find(int x){
    int k=x%n;
    while(hash[k]!=0&&hash[k]!=x){
        k++;
        if(k==n){
            k=0;
        }
    }
    return k;
}
int main(){
    int m;
    scanf("%d%d",&m,&n);
    for(int i=0;i<m;i++){
        int x;
        scanf("%d",&x);
        int p=find(x);
        hash[p]=x;
        if(i) putchar(32);
        printf("%d",p);
    }
    return 0;
}

标签:hash,映射,int,整数,列表,空格,关键字,整型
来源: https://www.cnblogs.com/15132949hao/p/15664840.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有