[数据结构]Hash表初学(数组链表)
来源:互联网 发布:java实现弹出窗口保存 编辑:程序博客网 时间:2024/05/22 03:16
/*Name:Hash表初学 (数组实现链表 h(x) = x mod n )Actor:HTTime:2015年9月27日Error Reporte:1.add函数 来龙去脉理解清楚*/#include"stdio.h"#include"string.h"#include"stdlib.h"int hash[9];//9位表int link[10000];//单个数组构成的N个链表,下标、数值都是序号 简直黑科技int value[10000];//下标序号,数值就是真值int rear;//最后的一个序号,用来安排空的地方int fhash(int x)//hash函数{return x % 9;}void add(int x)//添加{int temp = hash[fhash(x)];while (temp != 0){if (value[link[temp]] == x) return;temp = link[temp];}value[rear] = x;link[rear] = hash[fhash(x)];//连接到原队首hash[fhash(x)] = rear;//自己成为队首rear++;}void serach(int x)//查找{int temp = hash[fhash(x)];while (temp != 0){if (value[link[temp]] == x){printf("此值存在\n");return;}temp = link[temp];}printf("查无此值\n");}void vis(){int i;int temp;for (i = 0; i < 9; i++){printf("第%d个hash槽:",i);temp = hash[i];if (hash[i] == 0){printf("Empty\n");continue;}while (temp != 0){printf("%d", value[temp]);temp = link[temp];}printf("\n");}}void del(int x)//删除{;//暂不用数组实现,没有意义... ...用链表就easy多了}int main(){memset(hash, 0, sizeof(hash));memset(link, 0, sizeof(link));rear = 1;for (int i = 1; i < 5; i++){add(i);}vis();system("pause");return 0;}
0 0
- [数据结构]Hash表初学(数组链表)
- [数据结构]Hash表初学(开放寻址法 )
- hash表初学
- 数据结构之hash表
- 实现数据结构Hash表
- 数据结构-hash表-mpq
- Hash表的数据结构
- 数据结构与算法初学之链表:
- 数据结构初学1(线性表)
- Structure.Hash(通过数组和链表实现一个简单的Hash)
- 数据结构--Hash表的实现
- linux内核数据结构---hash表
- java数据结构之hash表
- 【数据结构与算法】Hash表
- 初学“邻接表(数组实现)”
- perl 数组的hash表
- 动态数组实现hash表
- 基本数据结构——散列表(hash表)
- 3.3.5 使用HtmlDiff对象
- HDU 25919 新生晚会(水题组合问题)
- Java------网络通信编程 之 菜鸟新手的学习总结
- 【LeetCode 153: Find Minimum in Rotated Sorted Array】
- 算法珠玑算法总结(转)
- [数据结构]Hash表初学(数组链表)
- 一元多项式的加减乘除运算,C++语言描述,数据结构实验
- 14 Best Open Source Web Application Vulnerability Scanners
- iOS开发之xib技巧介绍
- 软件
- 数据结构,多项式运算,C++,链表
- C/C++语言,对MSB、LSB的读/取处理
- C语言程序初体验-第十一课-第四题:玩数字
- JFreeChart(四.折线图.1)