问题
Do you know a good and free Hashtable imlementation for Delphi 5 ?
I need to organize a huge amount of data in a hastable and I am bit worried about memory leak issues that I found in most available implementations on the web.
Tks
回答1:
You can also check out the open-source / formerly commercial TurboPower SysTools. Not sure how much it is being updated. At one point Julian Bucknall recommended it over his EZDSL library, although that was back when he still worked fur TurboPower and it was being maintained / updated.
回答2:
You can try my GpStringHash. Guaranteed no memory leaks, but works only with strings. I think it should work in D5.
回答3:
EZDSL is a library of data structures, including a hash table, written by Julian Bucknall of TurboPower and DevExpress... I haven't used them, but I would have high expectations for this guy's code.
http://www.boyet.com/FixedArticles/EZDSL.html
回答4:
- http://www.benya.com/code/collections/hashtable.html
- http://delphi.blue-aura.co.uk/forum/showthread.php?t=816
回答5:
You can Try to search in Koders.
Here you have a simple implementation (Winjab project), or this from JCL.
NOTE: See the licence of codes before use it.
回答6:
Peter Below just posted a rework of something he did to the Embarcadero newgroups in the public.attachments. There's something under his profile on the CodeGear site at http://cc.codegear.com/Item/24825 taht describes it.
回答7:
Checkout DeCAL, which includes hash tables and more data structures.
回答8:
Apart from the actual hash-table implementation, the hash-function being used itself is also important.
A good one is a hash function from Bob Jenkins, read his paper here.
This algorithm was improved upon recently for cases where the input is DWord-sized (See the C-version of it here). This version is faster, and results in two 32-bit hash-values instead of one. (This second hash-value could be used to speed up in-bucket selection for example.)
For those interested, I could paste the Delphi-translation here? (It's about 170 lines of code.)
回答9:
RBS Antidot is very good library of containers (including hash-based UnsortedMap).
来源:https://stackoverflow.com/questions/179162/hashtable-implementation-for-delphi-5