该文件是EPANET中HASH.C的头文件,下面列出了该文件的源码以及我的中文注释

/* HASH.H
**
** Header file for Hash Table module HASH.C
**
*/

#define HTMAXSIZE 1999
#define NOTFOUND  0

//哈希表结构,是一个单向链表结构
struct HTentry
{
 char  *key;
 int  data;
 struct HTentry *next;
};

//定义一个指向哈希表的指针
typedef struct HTentry *HTtable;

//接口函数
HTtable *HTcreate(void); //创建一个哈希表,并将该表的首指针返回
int     HTinsert(HTtable *, char *, int);//将一个字符串以及该字符串的索引值插入到哈希表中
int  HTfind(HTtable *, char *);//返回指定字符串在哈希表中的索引值
char    *HTfindKey(HTtable *, char *);
void HTfree(HTtable *);//释放哈希表

EPANET头文件解读系列6——HASH.H的更多相关文章

  1. EPANET头文件解读系列7——MEMPOOL.H

    //EPANET应用程序使用了大量的节点与管段数据,而且每个对象数据又有不同时段的数据,这些数据占用了大量内存,而mempool.h就是一个简单快速的内存分配相关的头文件/***  mempool.h ...

  2. EPANET头文件解读系列4——EPANET2.H

    该头文件的功能与系列3中的TOOLKIT.H类似,而且内容也几乎一致,所以也就不再详细介绍.

  3. EPANET头文件解读系列3——TOOLKIT.H

    /******************************************************************** TOOLKIT.H - Prototypes for EPA ...

  4. EPANET头文件解读系列2——ENUMSTXT.H

    在前一系统中介绍了text.h,回顾下,该文件包含了EPANET中所有字符串常量的定义,而ENUMSTXT.H文件则是以text.h中定义的字符串常量为基础,来对这些字符串常量进行合理的分组,形成字符 ...

  5. EPANET头文件解读系列9——VARS.H

    /*************************************************************************            Global Variabl ...

  6. EPANET头文件解读系列5——TYPES.H

    /************************************************************************                            ...

  7. EPANET头文件解读系列1——TEXT.H

    定义在TEXT.H文件中的字符常量都以小写开头,然后紧跟一个下划线,再接着就全是大写字母 /***************************************************** ...

  8. EPANET头文件解读系列8——FUNCS.H

    /***************************************************************************                         ...

  9. 头文件带和不带.h的区别

    所有C++标准库的头文件都是没有.h结尾的.这么做是为了区分,C标准库的头文件和C++标准库的头文件.比如最具代表性的: #include <string.h> // C 标准库头文件,包 ...

随机推荐

  1. mrbs - 初识

    一.mrbs mrbs:(meeting room booking system)会议室预订系统 二.效果 三.models from django.db import models # Create ...

  2. 理解本真的REST架构风格(转,解释的最清楚)

    add by zhj start: Fielding在批判性继承前人研究成果的基础上,建立起来一整套研究和评价软件架构的方法论.这套方法论的核心是“架构风格”这个概念.架构风格是一种研究和评价软件架构 ...

  3. [py]函数小结

    函数作用域(函数前向引用) --> 嵌套(递归是一种个特殊的嵌套) --> 递归(回归,递归是一种特殊的迭代) --> 迭代 --> 生成器 --> 匿名函数 递归 一种 ...

  4. 知识点1-树状数组[带poj Stars作为巩固]

    转自:https://blog.csdn.net/flushhip/article/details/79165701#commentBox 1.首先其中讲到了一个问题,就是如何求一个数的二进制表示的最 ...

  5. Deep Learning(5)

    五.应用实例 1.计算机视觉. ImageNet Classification with Deep Convolutional Neural Networks, Alex Krizhevsky, Il ...

  6. 线程,协程,IO模型

    理论: 1.每创造一个进程,默认里面就有一个线程 2.进程是一个资源单位,而进程里面的线程才是CPU上的一个调度单位 3.一个进程里面的多个线程,是共享这个进程里面的资源的 4.线程创建的开销比进程要 ...

  7. uva10817 dijkstra

    大白书P330 #include <iostream> #include <cstdio> #include <algorithm> #include <st ...

  8. 基于SSH RSA的信任关系

    RSA 非对称加密算法 client  --->  server 私钥 公钥 1. 客户端生成密钥对 ssh-keygen -t rsa 执行后产生的密钥对会分别追加写到当前用户家目录下的以下文 ...

  9. python: 基本的日期与时间转换

    需要执行简单的时间转换,比如天到秒,小时到分钟等的转换. 为了执行不同时间单位的转换和计算,请使用datetime 模块.比如,为了表示一个时间段,可以创建一个timedelta 实例,就像下面这样: ...

  10. 异常来自HRESULT:0x80070422

    今天同事使用一个用VB.NET2008开发的应用程序时提示“出现了下列应用程序错误:无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动.(异常来自HRESULT:0x80070422)”   ...