第11章第15题定义代码(h) (Powered by biggates)

原创 2006年06月12日 16:01:00

/// Chapter11.h: 第11章数据结构

 

typedef int keyType;                //以int类型作为散列值类型

typedef char dataType;                //以char类型作为数据类型

 

const int HASH_TABLE_LENGTH = 20;

//令表长为20

 

const int MODDER = 17;                //用作求余数的素数

 

const dataType EMPTY_CHAR = '/0';    //空的数据值的标志

const keyType EMPTY_KEY = -1;        //空的散列值的标志

 

 

//散列表的定义

typedef struct hashChain

//"拉链"的定义,实际上就是一个单链表的定义

{

    //keyType key;                    //该节点的散列值(真是没用啊,明明散列值都一样,为什么还要写一遍呢?)

    dataType data;                    //该节点的数据值

    struct hashChain* pNext;        //指向下一个散列"拉链"的指针

}hashChain;

 

typedef struct hashNode

//散列表的主表,实际上就只有一个hashChain类型的指针域

{

    keyType key;                    //该节点的散列值

    hashChain* pChain;                //该散列值对应的链表头地址

}hashNode;

 

/// 以下是函数声明

 

//////////////////////////////////////////////////////////////////////////

//以下是访问自定义数据类型的函数

//////////////////////////////////////////////////////////////////////////

void printKeyType(const keyType key);

void printDataType(const dataType data);

 

void printHashTable( hashNode* head, const int size);

//显示以head为首,长度为size的hashNode表的内容的函数

 

//////////////////////////////////////////////////////////////////////////

//以下是处理自定义数据结构的函数

//////////////////////////////////////////////////////////////////////////

 

void initializeHashChain(hashChain* chain);

//初始化一个hashChain节点的函数

 

void initializeHashNodes(hashNode* head, const int size);

//初始化一个hashNode节点的函数

 

hashNode* createHashTable(hashNode* head, const int size, const int totalNumber);

//建立初始长度为size的散列表,并返回其首地址的函数

//不成功则返回NULL

 

keyType getHash(const dataType data);

//从data算出hash值的函数

 

hashChain* newHashChain();

//分配新的hashChain节点的函数

 

hashNode* chainSearch(hashNode* head, const int size, const dataType data);

//在以head为首,长度为size的hashNode表中查找data,并返回其Node地址的函数

//不成功则返回NULL

 

hashChain* insertIntoChain(hashNode* head, const int size, const dataType data);

//在以head为首,长度为size的hashNode表中插入值为data的节点的函数

//成功则返回其地址,否则返回NULL

 

void freeHashTable(hashNode* head, const int size);

//释放以head为首,长度为size的hashNode表所占用的空间的函数

《视频解密》中文版(第四版)第十章 H.261和H.263(第一部分)

有多种视频会议的规范,如表10.1所示。图10.1~10.3显示了一些常用视频会议系统的框图。     H.310 H.320 H...
  • RationalGo
  • RationalGo
  • 2013年12月23日 11:33
  • 1619

算法导论习题解-第15章动态规划

#a is topological sorted, a[0] is s, a[-1] is t def longest(a): #d[i] is the longest distance fr...
  • groovy2007
  • groovy2007
  • 2014年06月13日 16:11
  • 4202

算法导论第15章习题答案

Permalink: 2013-05-07 09:51:00 by hyhx2008in clrs tags: clrs algorithm 15.2-2 Q:请给出一个递归算法MATRIX-...
  • sushauai
  • sushauai
  • 2015年11月28日 10:21
  • 2908

一个“网页加载中”的特效代码 - 4ngel's blog - Powered by Sablog-X

  • 2011年10月04日 15:58
  • 2KB
  • 下载

水木:java进程 代码注入 (Powered by zms)

java进程 代码注入 (Powered by zms) http://www.btsmth.com/show_topic.php?en_name=Java&gid=277398 楼主 zms ...
  • liuha511
  • liuha511
  • 2011年09月30日 13:03
  • 1004

ECshop彻底去版权(同时适用于2.7.3) 前台部分: 1:去掉头部TITLE部分的ECSHOP演示站 Powered by ecshop 前者”ECSHOP演示站

ECshop彻底去版权(同时适用于2.7.3) 前台部分: 1:去掉头部TITLE部分的ECSHOP演示站 Powered by ecshop 前者”ECSHOP演示站”在后台商...
  • liu3348
  • liu3348
  • 2014年12月14日 20:13
  • 370

关于web服务器头部的Server与X-Powered-By信息

通过工具可以查询到站点服务器信息与程序信息及版本,其实这是通过服务器响应头信息里返回的,如果把这些信息暴露出去对站点不安全,我们可以通过隐藏或修改头信息的方法来阻止这些信息暴露 头信息包含服务器信息...
  • changjunkui
  • changjunkui
  • 2014年01月07日 10:55
  • 428

linux c/c++ GDB教程详解 ——Powered By lyjtynet的专栏

原文地址: http://blog.csdn.net/lyjtynet/article/details/4057723 内容: 学习使用了GDB一段时间后,发现它真的好强大!好用! ...
  • zixie1991
  • zixie1991
  • 2012年10月06日 04:27
  • 672

图解wireshark——Powered By haoppywang

原文地址: http://haoppywang.iteye.com/blog/788050 内容: Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并...
  • zixie1991
  • zixie1991
  • 2012年10月12日 12:15
  • 594

adb(android debug bridge)工具的使用方法  -  棒槌网@Android开发论坛 - Powered by phpwind

adb(android debug bridge)工具的使用方法: cr&sI=i  常用命令: i"#36CVT~  1.列出查找到的android phone CPw=? adb devi...
  • orange7798
  • orange7798
  • 2011年06月13日 14:21
  • 2161
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第11章第15题定义代码(h) (Powered by biggates)
举报原因:
原因补充:

(最多只允许输入30个字)