数据结构实验之查找七:线性之哈希表

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。

Input

连续输入多组数据,每组输入数据第一行为两个正整数N(N <= 1000)和p(p >= N的最小素数),N是关键字总数,p是hash表长度,第2行给出N个正整数关键字,数字间以空格间隔。

Output

输出每个关键字在hash表中的位置,以空格间隔。注意最后一个数字后面不要有空格。

Example Input

5 5
21 21 21 21 21
4 5
24 15 61 88
4 5
24 39 61 15
5 5
24 39 61 15 39

Example Output

1 1 1 1 1
4 0 1 3
4 0 1 2
4 0 1 2 0

#include <stdio.h>

#include <iostream>
using namespace std;
int main()
{
int n,m,k,key,M;
while(~scanf("%d",&n))
{

scanf("%d",&M);
int p[1234];
int Hash[123321] = {0};

for(int i=0;i<n;i++)
{
scanf("%d",&key);
int ans = 0;
while(1)
{
k = (key+ans)%M;
if(Hash[k] == 0)
{
Hash[k] = key;
p[i] = k;
break;
}
else if(Hash[k] == key)
{
p[i] = k;
break;
}
else
{
ans++;
}
}
}
int j;
for(j=0;j<n-1;j++)
{
cout<<p[j]<<" ";
}
cout<<p[j]<<endl;
}
return 0;
}

转载于:https://www.cnblogs.com/CCCrunner/p/6444564.html

数据结构实验之查找七:线性之哈希表相关推荐

  1. e - 数据结构实验之查找五:平方之哈希表_面试中常被问到的Hash表,你了解吗

    #新人扶持计划# Hash表在面试中经常被问到,今天我们来了解下. Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组.链表以及二叉排序树等相比较有很明显的区别,它能够 ...

  2. e - 数据结构实验之查找五:平方之哈希表_leetcode算法之哈希表

    今天该来盘一盘 哈希表 这类题目 分类别解析leetcode上的一些相关的例题路,代码采用C++与python实现. 哈希表 哈希表是一种很有用的数据结构, 其作用主要是以空间换时间, 在c++中主要 ...

  3. SDUT 3379 数据结构实验之查找七:线性之哈希表

    数据结构实验之查找七:线性之哈希表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 根据给定的一系列整数关键字和素数p, ...

  4. 【除留余数法定义hash函数+线性探测法解决hash冲突】数据结构实验之查找七:线性之哈希表

    Think: 1知识点:除留余数法定义hash函数+线性探测法解决hash冲突 数据结构实验之查找七:线性之哈希表 Time Limit: 1000MS Memory Limit: 65536KB P ...

  5. 数据结构学习笔记(七):哈希表(Hash Table)

    目录 1 哈希表的含义与结构特点 1.1 哈希(Hash)即无序 1.2 从数组看哈希表的结构特点 2 哈希函数(Hash Function)与哈希冲突(Hash Collision) 2.1 哈希函 ...

  6. G - 数据结构实验之查找七:线性之哈希表

    Description 根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突.重复关键字放在hash表中的同 ...

  7. 数据结构实验1《基于线性表的图书管理系统》

    数据结构实验1<基于线性表的图书管理系统> (visual studio 2019可运行) 输入及输出要求见<数据结构C语言(第二版)>严蔚敏版 [本文仅用于啥都看不懂还想交作 ...

  8. SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除

    提交代码 数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Proble ...

  9. SDUT-3378_数据结构实验之查找六:顺序查找

    数据结构实验之查找六:顺序查找 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在一个给定的无序序列里,查找与给定关键字 ...

最新文章

  1. 【数据挖掘笔记十二】离群点检测
  2. 开放大学MySQL形考_95至尊考试网-国家开放大学《数据库基础与应用》形考任务1...
  3. 批处理以当前时间为文件名创建文件
  4. python全栈工程师薪资-Python全栈工程师为何这么火薪资这么高看了才知道
  5. EasyUI学习笔记8:MIS开发利器_ datagrid插件(下)(终结篇)
  6. UE4 Roadmap
  7. 交通部出手了!共享单车预付资金额度不得超过这个数
  8. UI必备!不同形式的图标设计灵感
  9. python以二进制读取的文件显示b'b'_python - Python读取二进制文件并解码 - 堆栈内存溢出...
  10. mysql命令面板数据更改_宝塔面板数据库自动停止解决办法,宝塔面板MySQL数据库自动重启shell脚本...
  11. 内联元素与内联块状元素
  12. 2022全新趣盒iapp源码带后台非常好看UI
  13. linux 使用VI命令怎么删除输入内容,linux系统vi编辑器常用命令及使用方法。
  14. 多层json字符串转map_java json字符串转map集合递归嵌套
  15. 【生活中的逻辑谬误】稻草人谬误和无力反驳不算证明
  16. Omni-ID 推出2款有源RFID标签
  17. Go组队学习 9.异常处理
  18. java技术计算机机房管理系统文档,计算机机房管理系统课程设计报告
  19. 黑马程序员————集合2(day17)
  20. 企业应如何制定多云世界的反脆弱身份?

热门文章

  1. linux通过tar包安装docker
  2. Collections.toArray方法使用的坑
  3. Linux 网卡相关操作
  4. 学习区块链,绕不过去的“拜占庭将军问题”!!这里正好有通俗易懂的解释
  5. Vue入门教程:node安装vue命令行工具及启动项目
  6. Spring开发环境搭建
  7. Python 函数参数传递
  8. 中、美、印、日四国程序员大比拼
  9. C/Cpp / 野指针和悬空指针
  10. 临时变量不能作为非const引用