Delphi中Hash表的使用方法

2021-08-22 18:44:07 字數 1137 閱讀 3943

在遊戲開發中經常需要儲存一些資料結構,並且在使用的時候需要快速的查詢出來.hash表正是為了提高檢索速度而設計出來的.下面我就將我在用delphi開發中使用hash表的方法寫出來,希望對大家有一定的幫助!

在delphi中有乙個thashedstringlist類,使用這個類可以實現hash表的操作.使用這個類需要引用inifiles標頭檔案.

例如:我們定義的資料結構是:

以下是引用片段:

rtest = record

key:integer;

name:string[20];

***: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;

Delphi中Hash表的使用方法

在遊戲開發中經常需要儲存一些資料結構,並且在使用的時候需要快速的查詢出來.hash表正是為了提高檢索速度而設計出來的.下面我就將我在用delphi開發中使用hash表的方法寫出來,希望對大家有一定的幫助 在delphi中有乙個thashedstringlist類,使用這個類可以實現hash表的操作....

Delphi中Hash表的使用方法

原始出處 作者資訊和本宣告。否則將追究法律責任。在遊戲開發中經常需要儲存一些資料結構,並且在使用的時候需要快速的查詢出來 hash表正是為了提高檢索速度而設計出來的 下面我就將我在用delphi開發中使用hash表的方法寫出來,希望對大家有一定的幫助!在delphi中有乙個thashedstring...

hash表的使用

事實上不管使用陣列還是鍊錶儲存資料都會存在較大缺陷,當你使用陣列時,難於刪除和新增資料 當你使用鍊錶時難於查詢資料 因此hash表綜合了兩者的優缺點,使的查詢和新增等操作既不至於複雜也不至於簡單。因此hash表的原理可以是陣列中存鍊錶,鍊錶上存資料 簡單的建立方式如下 public class hn...