zoukankan      html  css  js  c++  java
  • hash表的使用

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

    Hash表正是为了提高检索速度而设计出来的.

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

    以下是引用片段:
      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;

  • 相关阅读:
    [NOIP2018 提高组] 保卫王国
    CF 939F. Cutlet
    [USACO15JAN]Moovie Mooving G
    [NOIP2017 提高组] 宝藏
    花园
    [[清华集训2012]串珠子]
    帮助——状压
    R语言产生月末日期
    R for循环示例
    Spark scala String Array转为String
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2940761.html
Copyright © 2011-2022 走看看