Hash(除留余数法+链地址法)
//哈希函数:除留余数法
//处理冲突:链地址法
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
const int N=10;struct Node{int num;Node *next;
};
struct HashTable{Node *element[N];int countn;
};HashTable *p;void InsertHashTable(int key);
int Search(int key);int main()
{int i,n;int a[N]={12,45,2,6,78,9,0,1,15,18};p=new HashTable();//这个先是初始化p这个头指针for(i=0;i<N;i++)p->element[i]=new Node();//这是初始化p下的每个element指针for(i=0;i<N;i++)InsertHashTable(a[i]);while(scanf("%d",&n)!=EOF)//可输入待查找元素{printf("%d\n",Search(n));}return 0;
}
void InsertHashTable(int key)
{Node *q;q=new Node();q->num=key;q->next=p->element[key%N]->next;p->element[key%N]->next=q;
}
int Search(int key)
{Node *q;q=new Node();q=p->element[key%N]->next;while(q!=NULL){if(q->num==key)return key%N;q=q->next;}return -1;
}
Hash(除留余数法+链地址法)相关推荐
- 除留余数法构造哈希函数并用链地址法处理哈希冲突【C++实现】
1.题目描述 哈希函数为H(key)=key%13,哈希冲突处理方法为:链地址法 c语言版数据结构上的例子 2.代码实现 首先建立一个哈希链表结点类HashNode,用于存放处理冲突时的关键字,其数据 ...
- Hash——哈希法概念、哈希函数构造方法、哈希冲突解决办法(重点讨论链地址法)
声明:本篇博客根据回顾老师上课知识和书籍<数据结构--用C语言描述>(耿国华)整理得出,仅作知识回顾学习用. 1.哈希法 哈希法又称散列法.杂凑法.关键字地址计算法.相对应的表称为哈希表. ...
- java开放地址法和链地址法解决hash冲突
hashMap对各位小伙们来说,没有不知道的了,使用过的人想必或多或少的都了解一点hashMap的底层实现原理,总结来说就是,数组+链表,至于源码的实现,大家可参看源码,今天想说的是hashMap是怎 ...
- Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测)、链地址法、再哈希、建立公共溢出区
Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测).链地址法.再哈希.建立公共溢出区 参考文章: (1)Java解决Hash(散列)冲突的四种方法--开放地址法 ...
- HashMap底层——解决Hash冲突(链地址法)
1.链地址法 次日清晨,大臣们按时上朝,接着讨论昨日的话题. "昨日Hash函数的选择我们已经有了具体的方案了,那就只剩下冲突的解决问题了",王大臣率先发话. "要解决冲 ...
- SWUST OJ 1012: 哈希表(链地址法处理冲突)
1012: 哈希表(链地址法处理冲突) 题目描述 采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用链地址法.建立链表的时候采用尾插法. 输入 第一行为哈西表的长度m: 第二 ...
- 【数据结构】哈希表——线性探测法、链地址法、查找成功、查找不成功的平均长度
一.哈希表 1.概念 哈希表(Hash Table)也叫散列表,是根据关键码值(Key Value)而直接进行访问的数据结构.它通过把关键码值映射到哈希表中的一个位置来访问记录,以加快查找的速度.这个 ...
- 【数据结构】人名查询哈希表设计(链地址法)
文章目录 核心代码 链表节点定义 链地址法处理冲突 查询函数 完整代码下载 核心代码 哈希表使用「链地址法」解决地址冲突的方式,其数据结构就采用 数组+链表 ,数组的每一个元素都是一个链表节点,当地址 ...
- (6)散列冲突处理:链地址法
链地址法(拉链法) 前面我们谈到了散列冲突处理的开放定址法,它的思路就是一旦发生了冲突,就去寻找下一个空的散列地址.那么,有冲突就非要换地方呢,我们直接就在原地处理行不行呢? 可以的,于是我们就有了链 ...
最新文章
- docker strace ptrace 报错 Operation not permitted 解决方法
- java 内部类泛型,java – 使用泛型强制转换为内部类
- 多个Google账户合并(共享)数据
- Python判断字符串是否为字母或者数字
- 程序员该如何选择工作以及如何做好职业规划?
- linux系统用户密码忘了怎么办,linux 系统忘记密码的快捷解决方法(图文详解)
- 如何用WGDI进行共线性分析(三)
- 今日头条笔试 机器人跳跃问题
- 抖音直播间弹幕发言采集工具
- 护眼灯频闪是什么意思?如何消除led灯频闪
- php中怎么加入图片,怎么样将图片加入ps中
- 关闭compactos_开启Compact压缩Win10系统文件,为Win10系统盘瘦身
- PHP红包搭建步骤,PHP 生成微信红包代码简单
- pycharm所有版本 http://www.jetbrains.com/pycharm/download/previous.html 打开激活窗口 选择 Activate new license
- 关于网络上的刷钻方法
- Linux指令--let
- 计算机打印过的文件在哪找到,请问如何在电脑里查找已经打印过的文件
- 消费机 mysql_消费机软件主要构成
- 京东到家djencrypt和signKeyV1还原
- 有关于Boolean的使用