链接法hash表
来源:互联网 发布:js a href click 编辑:程序博客网 时间:2024/06/09 18:37
/* *一个通过链接法解决碰撞问题的Hash表 *主要实现的功能是: *1.读取全域数据并通过hash映射保存到hash表中 *2.查询一个属于全域中的数据在hash表中的位置 * * Author: StoryMonster *Last Change Date: 2016/6/24 */#include <iostream>#include <stdlib.h>typedef struct HashTable{ int value; struct HashTable *next;} HashTable;HashTable *hashTable[10] = {0};/* *返回value在哈希表中的下标 */int CalcHashTableIndex(int value){ return value%10;}/* *将关键字value存入hash表中 */void PutToHashTable(int value){ int index = CalcHashTableIndex(value); HashTable *p = (HashTable *)malloc(sizeof(HashTable)); p->next = NULL; p->value = value; if(hashTable[index] == NULL) { hashTable[index] = p; return ; } p->next = hashTable[index]->next; hashTable[index]->next = p;}void ShowHashTable(){ int i=0; for(i=0;i<10;i++) { HashTable *p = hashTable[i]; std::cout << i <<":"; while(p!=NULL) { std::cout << p->value << " "; p = p->next; } std::cout << std::endl; }}int main(){ int choice = 0; int value = 0; while(1) { std::cout << "1:input a value 2:scan hash table" << std::endl; std::cout << "your choice:"; std::cin >> choice; switch(choice) { case 1: std::cout << "input value:"; std::cin >> value; PutToHashTable(value); break; case 2: ShowHashTable(); break; } } return 0;}
运行结果
0 0
- 链接法hash表
- POJ2549【hash分离链接法】
- Hash表(链接法)的插入,删除和查找
- 链接法解决hash解决碰撞之数组模拟方法
- 分离链接法解决hash冲突问题(C语言实现)
- Hash 散列表(分离链接法解决冲突)
- 哈希(hash) 之 ELFHash 和 静态hash(模拟链接法)
- Hash表(拉链法)
- Hash 函数、Hash表
- hash表、hash算法
- hash-A-hash表
- Hash表、Hash冲突
- HASH表(采用开放地址法处理hash冲突)
- hash表线性探测法
- 链接法(chaining)构建散列表(hash table)(C++实现)
- 算法学习 - Hash Table操作,分离链接法解决哈希冲突
- hash,分离链接法,探测散列表(二次探测),再散列的代码
- 链接法(chaining)构建散列表(hash table)(C++实现)
- android tv焦点特效实现浅析
- Makefile工程管理
- W7 pydev 安装到ecplise上
- 创建多模块maven工程
- Lazy Spelling Bee
- 链接法hash表
- Robot Rock Band
- Android Service的生命周期
- UISegmentController
- 一个PHP的SQL注入完整过程
- CSS盒子模型(续一)
- Java NIO系列教程(四) Scatter/Gather
- 俚语、口语及常见用法的理解
- Software Testing-How To Design Test Case