熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

Delphi中Hash表的使用方法

2013-11-23 17:34:54  來源: Delphi編程 
    在游戲開發中經常需要保存一些數據結構並且在使用的時候需要快速的查找出來Hash表正是為了提高檢索速度而設計出來的下面我就將我在用Delphi開發中使用Hash表的方法寫出來希望對大家有一定的幫助!

  在Delphi中有一個THashedStringlist類使用這個類可以實現Hash表的操作使用這個類需要引用IniFiles頭文件

  例如我們定義的數據結構是

以下是引用片段
  RTest = record
  Key:Integer;
  Name:String[];
  Sex:Boolean;
  Age:Integer;
  end;
  PTest = ^RTest ;
  創建Hash表
  ScHash:=THashedStringlistCreate;
  將數據結構加入Hash表中
  var
  Index:Integer;
  p_Test:PTest;
  Index:=ScHashIndexOf(IntToStr(p_TestKey));
  if Index= then
  begin
  ScHashAddObject(IntToStr(p_TestKey)TObject(Integer(p_Test)));
  end;

  在加入Hash表的時候首先我們檢查看這個Key是否在Hash表中如果Index=則說明此Key不在Hash表中則我們將這個結構指針加入到Hash表中

  將數據結構從Hash表中刪除

以下是引用片段
  var
  Index:Integer;
  t_Object: TObject;
  Index:=ScHashIndexOf(IntToStr(p_TestKey));
  if Index<> then
  begin
  t_Object:=ScHashObjects[Index];
  ScHashDelete(Index);
  end;

  刪除Hash表

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

  ScHashFree;


From:http://tw.wingwit.com/Article/program/Delphi/201311/24714.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.