Delphi中Hash表的使用方法!

在游戏开发中经常需要保存一些数据结构,并且在使用的时候需要快速的查找出来.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));
    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;
以上就是简单的Hash表操作步骤,其中需要注意的是,在使用DELPHI7的使用hash表的时候,一定要安装补丁.
分享至
一键收藏,随时查看,分享好友!
0人
了这篇文章
类别: 服务器开发┆阅读( 0)┆评论( 0) ┆ 返回博主首页┆ 返回博客首页
上一篇 治病 下一篇 不更新BLOG的声明

相关文章

  • DELPHI中使用Tlist类的简单分析
  • DELPHI中的INI文件编程
  • Delphi中将DBGRID中的内容输出到WORD中

职位推荐

  • 手机游戏unity3D、C++、C#客户端
  • Java工程师
  • 前端工程师
  • SFDC engineer
  • C#高级工程师

文章评论

 <<    1   2   3   >>   页数 ( 1/3 )  
[1楼]        豪客  回复
2007-02-03 23:40:36
不错。看来博主是同道中人,我博客中也有类似的文章,欢迎交流。
http://wakan.blog.51cto.com/blog/59583/7212

[2楼]       [匿名]moshu  回复
2007-02-09 15:55:02
博主,加油啊,我一直在等你更新呢

[3楼]        小生  回复
2007-02-09 16:12:01
人间处处有粉丝~~

[4楼]       [匿名]影子  回复
2007-05-02 22:27:14
看了楼主这么多深入的文章,支持中....加油,多出好文档,让我们多学习

[5楼]       [匿名]51CTO游客  回复
2007-06-09 15:29:28
哈希表里取到的t_Object如何置换成record数据,强制类型转换后好象取不到数据?

 <<    1   2   3   >>   页数 ( 1/3 )  

发表评论            

昵  称:
登录  快速注册
验证码:

点击图片可刷新验证码请点击后输入验证码博客过2级,无需填写验证码

内  容:

同时赞一个

每日博报 精彩不止一点关闭

你可能感兴趣的:(职场,Delphi,休闲)