| 改良版tstringlist類_delphi教程發(fā)布時(shí)間:2007-12-27 14:29:32  {----------------------------------------------------------------------------- Software distributed under the License is distributed on an "AS IS" basis, The Original Code is: mwStringHashList.pas, released December 18, 2000. The Initial Developer of the Original Code is Martin Waldenburg Contributor(s): ___________________. Last Modified: 18/12/2000 Notes: This is a very fast Hash list for strings. Known Issues: unit mwStringHashList; interface uses Classes, SysUtils; var type   TmwHashWord = class   PHashPointerList = ^THashPointerList;   TmwBaseStringHashList = class(TObject)   TmwHashStrings = class(TList)   TmwHashItems = class(TmwBaseStringHashList)   TmwStringHashList = class(TmwBaseStringHashList)   function SimpleHash(const aString: String): Integer; implementation procedure InitTables; function SimpleHash(const aString: String): Integer; function ISimpleHash(const aString: String): Integer; function TinyHash(const aString: String): Integer; function ITinyHash(const aString: String): Integer; function HashCompare(const Str1: String; const Str2: String): Boolean; function IHashCompare(const Str1: String; const Str2: String): Boolean; { TmwHashString } constructor TmwHashWord.Create(aString: String); { TmwBaseStringHashList } destructor TmwBaseStringHashList.Destroy; function TmwBaseStringHashList.Get(Index: Integer): Pointer; procedure TmwBaseStringHashList.Put(Index: Integer; Item: Pointer); procedure TmwBaseStringHashList.SetCapacity(NewCapacity: Integer); { TmwHashStrings } procedure TmwHashStrings.AddString(S: String); destructor TmwHashStrings.Destroy; { TmwHashItems } procedure TmwHashItems.AddString(S: String); { TmwStringHashList } constructor TmwStringHashList.Create(aHash: TmwStringHash; aCompare: TmwStringHashCompare); procedure TmwStringHashList.AddString(S: String); function TmwStringHashList.Hash(S: String): Boolean; function TmwStringHashList.HashEX(S: String; HashValue: Integer): Boolean; Initialization | 
|  |