在游戏开发中经常需要保存一些数据结构,并且在使用的时候需要快速的查找出来.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;
分享到:
相关推荐
delphi编写的hash表,免积分下载交流
Hash算法有三种,分别为平均哈希算法(aHash)、感知哈希算法你(pHash)和差异哈哈希算法(dHash)。 本代码针对平均哈希算法(aHash)
基于 delphi TMemIniFile 制作的 哈希表单元,可以完全按照哈希表操作习惯实现类似哈希表操作. 独立单元,调用方便. demo 演示.
用class封装的非常完美的标准类库,源码格式绝对高标准,有很好的学习价值。本源码提供了通过文件路径来获得文件的 MD5 Hash 码的标准方法以外还提供了传统字符串MD5加密、HASH的转换和比较方法。
Delphi上的加密解密组件,支持Delphi4 至 Delphi XE7,包含以下对称加密算法: Blowfish、cast128、cast256、des、3des、ice、thinice、ice2、idea、mars、misty1、rc2、rc4、rc5、rc6、rijndael、serpent、tea、...
Delphi:两个高效的哈希函数 .mht
delphi下面开发的国产哈希算法SM3可以直接调用接口 里面的代码注释写的很明白 我自己做项目测试了可以使用 没得问题
(原创资源) SM4 加密、解密库。 SM3 杂凑算法编码。 适用 Delphi 版本:Delpih 7, 2010 (仅在这两个版本下测试... 如果在使用过程中发现这个库有所不足,还望指出纠正。问题可以发送至邮箱:delphi2006@163.com
数据字典提供原语与多国文字的映射,多语言套件在程式运行时从文档,数据库,或 DFM 载入数据字典到 Hash 表,以提供最快的搜寻速度;最后根据要替换多语言的组件的类别,找到它的替换函数,替换掉该组件的各部分的...
3.使用时先将要检验的HASH值拷入剪切板(选中某个文件的参考HASH值,如5de8599af0fb3316f1f0ec4aeefcc513,通过CTRL+C拷入剪切板),然后再用鼠标右键点选相应文件,选择右键菜单中“文件哈希校验”中相应的校验算法...
(仅在这两个版本下测试过,使用过程尽量考虑兼容。因此其他版本的兼容必问题不大) 关于国密算法,网上基本只有 C/Java 的实现。Delphi 唯一能找到的版本,还是一个网友实现的不完整版本。 仅有 SM4 ECB 模式,...
一个完整的Hash算法单元,如MD5、CRC之类等等。 FastMM.pas 国外很著名的内存管理单元,Delphi2006的内存管理单元用的就是它。 FastStrings.pas 一个快速字符串处理单元,一些函数用汇编写的,处理速度比DELPHI...
一个delphi写的hashmap源代码, 包括TIntegerHashList, TStringHashList, TObjectHashList. 十万条记录查找只用 400毫秒.
在pb下生成sha1加密字符串,很简单,查了很多资料,都很少介绍到,只好自己做了一个简单的,dll来自delphi自带的System.Hash.THashSHA1.GetHMAC(s, key),希望能帮到需要的人。 为什么没有资源分数0分的选项?
ICS - Internet Component Suite - V8 - Delphi 7 to RAD Studio 10 Seattle ======================================================================= (Aka FPIETTE's Components) Revised: March 3, 2016 ...
Fundamentals.Hash415
lib for delphi hash
Delphi Face Detection Live Web Camera Delphi Face Recognition:https://sourceforge.net/projects/delphi-face-recognition/ For Live:人脸考勤系统,面部表情,性别识别安全应用。 种族/国籍识别(也许很快) ...
\BASM-Call.................BASM中调用Delphi中的函数和过程 \BASM-CallApi..............BASM中调用API函数 \BASM-Var..................BASM访问函数或过程的参数 \BASM-Asm..................Delphi中的全...
Delphi JOSE和JWT库 JWT(JSON Web令牌)和JOSE(JSON对象签名和加密)规范套件的实现。... 在Delphi 10 Seattle或更新的Delphi版本中,HMAC算法也是System.Hash单元,因此不需要OpenSSL。 使用RSA或ECD