在遊戲開發中經常需要儲存一些資料結構,並且在使用的時候需要快速的查詢出來.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...