程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi中Hash表的使用方法

Delphi中Hash表的使用方法

編輯:Delphi

在游戲開發中經常需要保存一些數據結構,並且在使用的時候需要快速的查找出來.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));
  ifIndex=-1then
  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));
  ifIndex<>-1then
  begin
  t_Object:=ScHash.Objects[Index];
  ScHash.Delete(Index);
  end;

4:刪除Hash表

在刪除Hash表的時候和一般的Tlist刪除一樣,使用Free.

ScHash.Free;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved