其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

Delphi中Hash表的使用方法


发布日期:2019年08月29日
 
Delphi中Hash表的使用方法
在游戏开发中经常需要保存一些数据结构并且在使用的时候需要快速的查找出来Hash表正是为了提高检索速度而设计出来的下面我就将我在用Delphi开发中使用Hash表的方法写出来希望对大家有一定的帮助!

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

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

以下是引用片段

RTest=record

Key:Integer;

Name:String[];

Sex:Boolean;

Age:Integer;

end;

PTest=^RTest;

创建Hash表

ScHash:=THashedStringlistCreate;

将数据结构加入Hash表中

var

Index:Integer;

p_Test:PTest;

Index:=ScHashIndexOf(IntToStr(p_TestKey));

ifIndex=then

begin

ScHashAddObject(IntToStr(p_TestKey)TObject(Integer(p_Test)));

end;

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

将数据结构从Hash表中删除

以下是引用片段

var

Index:Integer;

t_Object:TObject;

Index:=ScHashIndexOf(IntToStr(p_TestKey));

ifIndex<>then

begin

t_Object:=ScHashObjects[Index];

ScHashDelete(Index);

end;

删除Hash表

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

ScHashFree;

               

上一篇:delphi编程统计中英文字个数

下一篇:用Delphi实现文件下载的几种方法