linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 软件开发 >
栏目导栏
资料搜索
热门文章
·Linux 下 C 语言编程
·Linux下的通用线程池创建
·C++字符串转换篇
·linux C 进程操作篇
·linux上的C/C++编译器gcc/egcs
·linux C 文件权限控制篇
·GCC使用手册
·linux C 接口处理篇
·在Redhat Linux上安装 GCC 编译
·GCC使用指南
·C语言运算符
·Linux下C开发环境的构成和安装
·fopen()函数的参数说明
·GCC使用手册与常用命令
·Scheme 语言介绍
最新文章
·在Ubuntu Linux 8.04上构建GCC
·Linux操作系统下Socket编程地址
·将VC程序移植到Linux系统的几点
·Linux下malloc/free与new/dele
·Linux下用GTK和socket实现简单
·Linux操作系统下让Tomcat启动在
·Linux操作系统中如何编译C程序
·几种常被人们忽略的Linux系统下
·Eclipse编程工具 在Ubuntu下的
·Linux操作系统下的网络地址转换
·老手经验谈:Linux驱动程序开发
·Linux操作系统多线程同步Mutex
·Linux操作系统下C程序语言简易
·Linux系统平台下关于GCC编译及
·解决Linux系统下管道被接受方关
Google
 
Delphi中Hash表的使用方法
[ 作者:风神  加入时间:2007-02-01 11:44:49  来自:51CTO ]
        在游戏开发中经常需要保存一些数据结构,并且在使用的时候需要快速的查找出来.Hash表正是为了提高检索速度而设计出来的.下面我就将我在用Delphi开发中使用Hash表的方法写出来,希望对大家有一定的帮助!

在Delphi中有一个THashedStringlist类,使用这个类可以实现Hash表的操作.使用这个类需要引用IniFiles头文件.

例如:我们定义的数据结构是:

RTest = record

  Key:Integer;

  Name:String[20];

  Sex:Boolean;

  Age:Integer;

end;

PTest = ^RTest ;

 

1:创建Hash表.

ScHash:=THashedStringlist.Create;

2:将数据结构加入Hash表中.

var

 Index:Integer; 

 p_Test:PTest;

 Index:=ScHash.IndexOf(IntToStr(p_Test.Key));FYBLinux联盟
    if Index=-1 thenFYBLinux联盟
    beginFYBLinux联盟
      ScHash.AddObject(IntToStr(p_Test.Key),TObject(Integer(p_Test)));FYBLinux联盟
    end;

在加入Hash表的时候,首先我们检查看这个Key是否在Hash表中,如果Index=-1则说明此Key不在Hash表中,则我们将这个结构指针加入到Hash表中.

3:将数据结构从Hash表中删除.

var

 Index:Integer;

 t_Object: TObject;

 Index:=ScHash.IndexOf(IntToStr(p_Test.Key));FYBLinux联盟
    if Index<>-1 thenFYBLinux联盟
    beginFYBLinux联盟
      t_Object:=ScHash.Objects[Index];FYBLinux联盟
      ScHash.Delete(Index);FYBLinux联盟
    end;

4:删除Hash表

在删除Hash表的时候和一般的Tlist删除一样,使用Free.

  ScHash.Free;

以上就是简单的Hash表操作步骤,其中需要注意的是,在使用DELPHI7的使用hash表的时候,一定要安装补丁.
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Delphi中BDE直连方式访问Oracle的问题  (2006-12-07 11:15:03)
 ·怎样在VC、Delphi中使用MySQL ODBC驱动  (2006-11-11 11:13:10)
 ·学习DELPHI程序开发中的几则应用技巧  (2006-10-01 09:12:46)
 ·如何用Delphi 6开发ASP上传组件详解  (2006-10-01 09:11:45)
 ·如何使用Delphi实现无边界窗体的移动  (2006-10-01 09:11:04)
 ·Delphi用拼音首字符序列实现检索功能  (2006-10-01 09:10:14)
 ·Delphi中如何取得系统支持的颜色数  (2006-10-01 09:09:18)
 ·如何用Delphi开发简单的WebMail程序  (2006-10-01 09:08:34)
 ·用Delphi实现BP机、手机短讯 精华篇  (2006-09-25 12:10:54)
 ·使用Delphi启动和关闭外部应用程序  (2006-09-25 12:09:47)