其实我就是想知道 哈系值 是怎么算出来的 就是一个string 一个唯一的 ID  不需要用这个ID 还原string 但必须是唯一
最好是算法 
谢谢

解决方案 »

  1.   

      TbucketList(通用的)   
      TobjectBucketList(针对对象)   
      THashedStringList(针对字符串)
      

  2.   


    function TStringHash.HashOf(const Key: string): Cardinal;
    var
      I: Integer;
    begin
      Result := 0;
      for I := 1 to Length(Key) do
        Result := ((Result shl 2) or (Result shr (SizeOf(Result) * 8 - 2))) xor
          Ord(Key[I]);
    end;
    delphi  里 就这样打发了 
      

  3.   

    两个疑问:
    1. 源串有多长口?
    2. ID有多少字节?首先你得从理论上保证你的任务是可行的。比如用一个8位ID,来表示汉字,这是不可能的。
      

  4.   


    1 最多 30 个字符
    2 ID字节数最好是一个integer看来这必须要压缩了 如果不能避免重复就没必要搞了
    哎 看来 哈稀也不是省油的灯啊