数据结构
文章平均质量分 69
程序员QC
To be a better man.
展开
-
单向链表逆序
逆序函数: NODE *reverse(NODE *head) { NODE *p1, *p2, *temp; p1 = head; p2 = head->next; p1->next = NULL; while(p2 != NULL) { temp = p2->next; p2->next = p1; p1 = p2; p2 = temp;原创 2013-10-17 11:05:06 · 831 阅读 · 0 评论 -
双向链表的C实现
本文用C语言实现了双向链表的create 创建、display 遍历、search 查找节点、del 删除节点、insert 插入节点,实现及测试程序如下: #include #include typedef struct dlink { int num; struct dlink *prior; struct dlink *next; }NODE; NOD原创 2013-10-18 23:02:29 · 1023 阅读 · 0 评论 -
哈希表实现
本文转自:哈希表的实现 相关定义:根据散列函数H(key)和处理冲突的方法将一组关键字映象到一个有限的连续的地址集(区间)上,并以关键字在地址集中的“象” 作为记录在表中的存储位置,这种表便称为散列表(或称哈希表),这一映象过程称为散列造表或散列,所得的存储位置称散列地址。 构造哈希函数的方法: 1. 直接寻址法 2. 数字分析法 3. 平方取中法 4. 折叠法 5. 随转载 2013-12-22 21:09:56 · 859 阅读 · 0 评论 -
哈希表简介
本文转自:哈希表(附部分代码) Hash,一般翻译做“散列”,也有直接音译为”哈希“的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消转载 2013-12-22 19:58:18 · 1129 阅读 · 0 评论 -
哈希表应用
本文转自:哈希表的应用(C++实现) 问题描述:设计哈希表实现电话号码查询系统,实现下列功能: (1) 假定每个记录有下列数据项:电话号码、用户名、地址。 (2) 一是从数据文件old.txt(自己现行建好)中读入各项记录,二是由系统随机产生各记录,并且把记录保存到new.txt文件中以及显示到屏幕上,记录条数不要少于30,然后分别以电话号码和用户名为关键字建立哈希表。 (3) 分别转载 2013-12-22 21:16:02 · 1256 阅读 · 0 评论