Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14490686
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:51:34

下载本文示例代码
  在游戏开发中经常需要保存一些数据结构,并且在使用的时候需要快速的查找出来.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;   版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fxh7622.51cto.com/blog/63841/16633 阅读关于 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;   版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fxh7622.51cto.com/blog/63841/16633 阅读关于 Delphi Hash表 使用方法 的全部文章 下载本文示例代码


Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法Delphi中Hash表的使用方法
阅读(198) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~