回答
您還可以查看開源/原商業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