数据结构实验之查找七:线性之哈希表
来源:互联网 发布:互质的性质 知乎 编辑:程序博客网 时间:2024/06/06 20:26
数据结构实验之查找七:线性之哈希表
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在hash表中的同一位置。
Input
连续输入多组数据,每组输入数据第一行为两个正整数N(N <= 1500)和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
Hint
Author
xam
#include <iostream>using namespace std;int const MAX = 1550;int main(){ int n, p; while (cin >> n >> p) { int * hash = new int[MAX](); int x; for (int i = 0; i < n; i++) { cin >> x; int t = x % p; int d = 0; if (hash[t] == 0) { hash[t] = x; cout << t; } else { int pos; while (hash[(t + d) % p]) { if (hash[(t + d) % p] == x) { pos = (t + d) % p; break; } d++; } hash[(t + d) % p] = x; pos = (t + d) % p; cout << pos; } if (i + 1 == n) cout << endl; else cout << " "; } } return 0;}
阅读全文
1 0
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- SDUT 数据结构实验之查找七:线性之哈希表
- SDUT 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表 151 268
- 数据结构实验之查找七:线性之哈希表
- SDUT3379数据结构实验之查找七:线性之哈希表
- SDUT 3379 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- SDUTACM 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- 循环链表 c语言小试牛刀
- 设计模式
- hdu 2045 java 大数
- 统计思维(实例7)——估计
- C Primer Plus 精读(一)
- 数据结构实验之查找七:线性之哈希表
- php在页面内搜索的实现
- SQLNET.ORA 的常见用法
- LeetCode Merge Two Sorted Lists
- 浙工大E--栗酱的数列
- Java练习(6)——十进制转换为2、16进制
- Spring boot 全部默认配置
- 图像的小波变换(一)
- 快捷方式