在游戏开发中经常需要保存一些数据结构,并且在使用的时候需要快速的查找出来.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表的时候,一定要安装补丁.
职场 delphi 休闲

0

收藏

上一篇:治病 下一篇:不更新BLOG的声明
Delphi中Hash表的使用方法!_第2张图片
fxh7622

108篇文章,110W+人气,11粉丝

播客链联合创始人,区块链坚定拥护者!

关注
Delphi中Hash表的使用方法!_第3张图片

Ctrl+Enter 发布

发布

取消

13条评论

按时间倒序 按时间正序

推荐专栏更多

Delphi中Hash表的使用方法!_第4张图片
基于Python的DevOps实战

自动化运维开发新概念

共20章 | 抚琴煮酒

¥51.00 494人订阅
订   阅
Delphi中Hash表的使用方法!_第5张图片
微服务技术架构和大数据治理实战

大数据时代的微服务之路

共18章 | 纯洁微笑

¥51.00 688人订阅
订   阅

猜你喜欢

刺猬文│从启动方式来看播客链的运行机制—设置验证者 刺猬文│从启动方式来看播客链的运行机制—共识机制 我们不得不面对的中年职场危机 Java线程:线程的调度-休眠 用光影魔术手制作一寸照片(8张一寸) 职场终极密籍--记我的职业生涯 我的IT职场生涯: 毕业4年,月薪过万 Linux关闭休眠和屏保模式 浅析Delphi实现IOCP后的优化 Delphi连接Oracle控件ODAC的安装及使用 DELPHI中完成端口(IOCP)的简单分析(1) 年薪从0到10万-我的IT职场经验总结 JavaScript基础 从Preact中了解React组件和hooks基本原理 智能合约编程语言-solidity快速入门(下) Android中适配器的notifyDataSetChanged()为何有时不刷新 从hook开始聊聊那些windows内核数据结构 Scala的actor 正则性能调优 windows下kafka+ELK的日志系统
Delphi中Hash表的使用方法!_第6张图片
Delphi中Hash表的使用方法!_第7张图片

扫一扫,领取大礼包

0

13
分享
Delphi中Hash表的使用方法!_第8张图片
关注
fxh7622
Delphi中Hash表的使用方法!_第9张图片