回答
您还可以查看开源/原商业TurboPower SysTools。不知道它有多少更新。 Julian Bucknall曾经推荐过他的EZDSL library,尽管当时他还在为TurboPower工作,并且正在维护/更新。
您可以尝试在Koders进行搜索。
Here你有一个简单的实现(Winjab project)或this从JCL。
注意:使用前请参阅代码许可证。
EZDSL是由TurboPower和DevExpress的Julian Bucknall编写的一个数据结构库,包括一个哈希表......我没有使用它们,但是我对这个人的代码有很高的期望。
我已经使用了EZDSL多年的收缩包装应用程序,代码非常好。良好的性能,不用担心内存泄漏。 – 2011-08-30 17:48:16
你可以试试我的GpStringHash。保证没有内存泄漏,但只适用于字符串。我认为它应该在D5中工作。
Peter下面刚在public.attachments上发布了他对Embarcadero新组的一些修改。 CodeGear网站上有他的个人档案中的一些东西,其中http://cc.codegear.com/Item/24825描述了它。
结帐DeCAL,其中包括散列表和更多的数据结构。
除了实际的散列表实现之外,使用的散列函数本身也很重要。
一个不错的是来自Bob Jenkins,read his paper here的散列函数。
对于输入为DWord大小(See the C-version of it here)的情况,最近对此算法进行了改进。这个版本更快,并且产生两个32位散列值而不是一个。 (例如,这第二个散列值可用于加快桶内选择。)
对于那些有兴趣的人,我可以在这里粘贴Delphi翻译? (这大约有170行代码)。
RBS Antidot是非常好的容器库(包括基于散列的UnsortedMap)。
- 1. 德尔福接口实现
- 2. 德尔福加密箱散列
- 3. MurMurHash3有没有德尔福的实现?
- 4. 德尔福实现REST服务器
- 5. 德尔福v.Word - 如何从德尔福
- 6. 德尔福HID Delphi7和德尔福XE2
- 7. 德尔福的指针字节列表
- 8. 德尔福Superobject,json的通用列表
- 9. 连接P /调用到德尔福5
- 10. TMenuItem自动检查与德尔福5
- 11. strutils.dcu在德尔福5找不到
- 12. 德尔福5尺寸不匹配TField
- 13. 德尔福5安装错误
- 14. 列表索引出界(0)德尔福
- 15. 德尔福Firemonkey获取列表设备
- 16. 德尔福2009通用链接列表
- 17. 德尔福错误列表框
- 18. 德尔福
- 19. 与德尔福
- 20. 与德尔福
- 21. 德尔福:TRegExpr
- 22. 类德尔福
- 23. 德尔福ftpgetfile
- 24. 德尔福
- 25. DES_KEY_SZ德尔福
- 26. 德尔福
- 27. 与德尔福
- 28. 德尔福Application.HintColor
- 29. 德尔福
- 30. 德尔福的QuickBooks
我们尝试了由benya.com提供的实现,但我们遇到了一些内存泄漏问题。你尝试过第二个吗? 答案的答案 – Gustavo 2008-10-07 16:17:41
如果数据量巨大,我会使用TList,TStringList或TClientDataSet + BinarySearch。 – zaca 2008-10-07 17:56:50