您的位置:首页 > 编程语言 > Delphi

Delphi中Hash表的使用方法! 推荐

2007-01-31 15:40 399 查看
在游戏开发中经常需要保存一些数据结构,并且在使用的时候需要快速的查找出来.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));
if Index=-1 then
begin
ScHash.AddObject(IntToStr(p_Test.Key),TObject(Integer(p_Test)));
end;

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

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

var

 Index:Integer;
 t_Object: TObject;

 Index:=ScHash.IndexOf(IntToStr(p_Test.Key));
if Index<>-1 then
begin
t_Object:=ScHash.Objects[Index];
ScHash.Delete(Index);
end;

4:删除Hash表

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

ScHash.Free;

以上就是简单的Hash表操作步骤,其中需要注意的是,在使用DELPHI7的使用hash表的时候,一定要安装补丁.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 delphi 休闲