Delphi中Hash表的使用方法
在游戏开发中,经常需要保存一些数据结构,使用时需要快速找到。哈希表是为了提高检索速度而设计的。这里我就把Delphi开发中使用哈希表的方法写出来,希望对大家有帮助!
Delphi中有一个THashedStringlist类,可以用来实现哈希表的操作。使用这个类,您需要引用IniFiles头文件。
例如,我们定义的数据结构是:
word-wrap:break-word " bgcolor = # f3f 3 f 3 >以下为引文:
rtest = record
key:integer;
Name:String[20];
性别:布尔型;
年龄:整数;
end;
ptest = ^rtest;
1:创建哈希表。
schash:= thashedstringlist . create;
2:将数据结构添加到哈希表中。
var
Index:Integer;
p _ Test:PTest;
Index:=ScHash。IndexOf(IntToStr(p_Test。键));
如果Index=-1,则
begin
ScHash。AddObject(IntToStr(p_Test。Key)、to object(Integer(p _ Test)));
end;
在添加哈希表时,我们首先检查键是否在哈希表中。如果Index=-1,则意味着该键不在哈希表中,那么我们将结构指针添加到哈希表中。
3.从哈希表中删除数据结构。
以下是引号片段:
var
Index:Integer;
t _ Object:to Object;
Index:=ScHash。IndexOf(IntToStr(p_Test。键));
if Index-1 then
begin
t _ Object:= ScHash。对象[索引];
ScHash。删除(索引);
end;
4:删除哈希表
删除哈希表时,使用Free,就像一般的Tlist删除一样。
嘘。免费;
0条评论