/**
auhtor:lx
date 4.9 2011
brief hash table
*/

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define hash_num 5

typedef char Bool;

struct hash_node
{
int date; /*结点值*/
struct hash_node *next; /*下一个节点*/
Bool found;
};

struct hash_node* hash_table[hash_num]; /*存储hash table 所有信息*/

void hash_table_found( int value )
{
int hash;
hash = value % hash_num;

/* 建立结点 */
struct hash_node* node = (struct hash_node*)malloc( sizeof( struct hash_node) );
node->date = value;
node->next = NULL;
node->found = 't';

if ( hash_table[ hash ]->found == 'f' )
{
hash_table[ hash ]->date = value;
hash_table[ hash ]->next = NULL;
hash_table[ hash ]->found = 't';
}
else
{
node->next = hash_table[ hash ];
hash_table[ hash ] = node;
}

}
void hash_table_output()
{
int i = 0;

for ( ; i < hash_num; i++ )
{
if ( hash_table[i]->found == 't' )
{
while ( hash_table[i] != NULL )
{
printf( "%d\t", hash_table[i]->date );
hash_table[i] = hash_table[i]->next;
}

printf( "\n" );
}
}
}

int main( void )
{
/*要放入hash表的数据*/
int a[10] = { 0, 0, 400, 20, 12, 450, 2222, 30, 1 , 200 };

int j;
for ( j = 0; j < hash_num; j++ )
{
hash_table[j] = ( struct hash_node* )malloc( sizeof( struct hash_node ) );
hash_table[j]->date = 0;
hash_table[j]->next = NULL;
hash_table[j]->found = 'f';

}

int i = 0;
for ( ; i < 10; i++ )
{
hash_table_found( a[i] );
}

hash_table_output();
}

转载于:https://www.cnblogs.com/lxgeek/archive/2011/04/09/2010573.html

hash表建立 很久没写数据结构了相关推荐

  1. 很久没写东西了,留个言。

    很久没写东西了,留个言. 转载于:https://www.cnblogs.com/allanlau2004/archive/2005/07/26/200391.html

  2. 很久没写了,发个策划书如何?

    "互联网+"创新创业大赛校级答辩材料 全国"互联网+"创新创业大赛 <关于面向中小餐厅APP 平台构建> 项目策划书 项目名称:关于面向中小餐厅AP ...

  3. 【原创】新韭菜日记58--20190618 很久没写了,因为套牢,因为没内容可写

    我发现炒股这种事情可能是没法在直播弄的,因为可能会被骂蠢死 但事实上就是这么愚蠢,在欲望的样子多数人都是俗人,有点像日本漫画的富江,这也许是人内心的恶把 但是可能也是现代科技和商业社会前进的动力 炒股 ...

  4. 很久没来了,嘿嘿 问候一下大家,O(∩_∩)O哈哈~

    很久没来了,嘿嘿.发现上次发帖正好是一个月以前哦,嘿嘿. 最近职位火热招聘,有意向的快联系哦,嘿嘿 1. BI Technical PM BI Technical PM Job Location: R ...

  5. 很久之前写个密码生成工具,可定制。

    很久之前写个密码生成工具,可自己定制.地址:http://pan.baidu.com/s/1dE2fTEL 密码:xaz9 # guestpass.exe -h Usage of guestpass. ...

  6. 很久很久以前写的FC/NES 游戏ROM文件管理程序,许久没更新,用得着的试试吧

    那是在很久很久以前了, 那时候才刚刚学习Win32 SDK编程,恰恰又学了Sqlite3数据库的使用,所以就写 了这么一个程序, 没什么特殊的功能, 就是把NES文件保存到数据库中, 支持搜索, 要查 ...

  7. 数据结构:通过hash表建立一个宝可梦图鉴管理系统

    1. 建立工程文件夹 bin.obj.src.include 2.创建主makefile文件 OBJS:=test.o pokemon.o CC:=gcc CFLAGS:=-c -g -Wall My ...

  8. hash表建立,查找,详解

    散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构.也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录, ...

  9. 见了很久没见的高中同学,真好

    周末去二炮的高中同学那里玩了.虽然同在西安已经6年,但是却从来没有去过她们学校,说起来似乎让人难以相信呵,可事实的确如此.可见我这个人的懒惰了          不过,虽然很久没有见面,见了面之后,感 ...

最新文章

  1. 记录一下CUDA-opencv联合编程
  2. Linux系统捕获数据包流程
  3. caffe 问题集锦之使用cmake编译多GPU时,更改USE_NCCL=1无效
  4. 访谈:摩尔定律后时代,看13位行业专家如何看量子计算机的未来?
  5. centos 8 卸载anaconda_CentOS 7.8 (2003) 发布,附地址
  6. 2016/08/24 CppCon 2015 Bjarne Stroustrup “Writing Good C++14
  7. 手写自己的MyBatis框架-V2.0配置文件
  8. 红外摄像机的功率究竟有多大
  9. three 天空球_javascript – 分配给相机的three.js天空盒
  10. 用vim + xdebug 来追踪thinkphp的执行过程
  11. [DJANGO] excel十几万行数据快速导入数据库研究
  12. 路飞学城—Python爬虫实战密训班 第三章
  13. [剑指offer] 7. 斐波那契数列 (递归 时间复杂度)
  14. 【用户画像学习笔记】——社交网络平台的用户画像介绍
  15. HTML meta 标签的使用方式总结(本文总结17中使用方式)
  16. 欧洲能源商品期货股票套利
  17. 进阶篇:4.3)DFA设计指南:防错设计( 防呆设计)
  18. C#与Halcon联合编程 1
  19. SNAT(源地址转换)
  20. 【Android】Android Studio左侧的目录工具栏

热门文章

  1. 使用 CodeIgniter 框架快速开发 PHP 应用(二)
  2. 2015微信商业化正式启幕 为企业开启O2O主阵地
  3. WPF以Clickonce方式发布后使用管理员身份运行
  4. php 打开任意文件下载,TEC-004-php文件下载任意文件读取漏洞修复
  5. js 数组 实现 完全树_JavaScript的工作原理:解析、抽象语法树(AST)+ 提升编译速度5个技巧
  6. 鸿蒙应用开发在线体验官网,华为鸿蒙 HarmonyOS 应用开发在线体验网站上线
  7. r语言 聚类求和_R语言聚类分析,如何导出将分类结果?
  8. Java渐变进度条_Android ProgressBar自定义图片进度,自定义渐变色进度条
  9. apk解密工具_手机端操作| Auto.js一键解密/一键加密工具免费分享
  10. 晨风机器人突破限制_济南木偶戏传承人借力科技创造“木偶机器人”助非遗传承创新...