网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
在Delphi中使用哈希表
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

  以往在软件开发中经常需要用哈希表保存一些数据结构,C#下的哈希表可以快速检索数据,其实Delphi也提供了对哈希表的支持,下面我就将我在用Delphi开发中使用Hash表的方法写出来,希望对大家有一定的帮助!

  在Borland Delphi中有一个THashedStringlist类,使用这个类可以实现Hash表的操作.使用这个类需要引用IniFiles单元.

  例如:我们定义的数据结构是:

以下是引用片段:

   MyHashTest = record
  Key:Integer;
  Name:String[20];
  Sex:Boolean;
  Age:Integer;
  end;
  PTest = ^MyHashTest ;
  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;

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号