【发布时间】:2010-09-15 19:15:34
【问题描述】:
您知道用于 Delphi 5 的良好且免费的 Hashtable 实现吗?
我需要在一个 hastable 中组织大量数据,我有点担心我在网络上大多数可用的实现中发现的内存泄漏问题。
Tks
【问题讨论】:
标签: delphi data-structures memory-leaks hashtable
您知道用于 Delphi 5 的良好且免费的 Hashtable 实现吗?
我需要在一个 hastable 中组织大量数据,我有点担心我在网络上大多数可用的实现中发现的内存泄漏问题。
Tks
【问题讨论】:
标签: delphi data-structures memory-leaks hashtable
【讨论】:
您可以尝试在Koders 中搜索。
Here 您有一个简单的实现 (Winjab project),或者 this 来自JCL。
注意:使用前请查看代码许可。
【讨论】:
EZDSL 是一个数据结构库,包括一个哈希表,由 TurboPower 和 DevExpress 的 Julian Bucknall 编写...我没用过,但我对这家伙的代码抱有很高的期望。
【讨论】:
你可以试试我的GpStringHash。保证没有内存泄漏,但仅适用于字符串。我认为它应该在 D5 中工作。
【讨论】:
您还可以查看开源/以前的商业 TurboPower SysTools。不知道更新了多少。 Julian Bucknall 曾在他的 EZDSL library 上推荐过它,尽管那是在他还在使用 TurboPower 并且正在维护/更新的时候。
【讨论】:
Peter below 刚刚在 public.attachments 中发布了他对 Embarcadero 新组所做的一些修改。在他的 CodeGear 网站 http://cc.codegear.com/Item/24825 的个人资料下有一些东西描述了它。
【讨论】:
结帐DeCAL,其中包括哈希表和更多数据结构。
【讨论】:
除了实际的哈希表实现之外,所使用的哈希函数本身也很重要。
Bob Jenkins read his paper here 的哈希函数是一个不错的选择。
此算法最近针对输入为双字大小 (See the C-version of it here) 的情况进行了改进。这个版本更快,并且产生两个 32 位散列值而不是一个。 (例如,第二个哈希值可用于加速桶内选择。)
对于那些感兴趣的人,我可以在这里粘贴 Delphi 翻译吗? (大约 170 行代码。)
【讨论】: