Pergunta

Você conhece um bom e imlementation Hashtable livre para Delphi 5?

Eu preciso organizar uma enorme quantidade de dados em um hastable e estou pouco preocupado com problemas de vazamento de memória que eu encontrei na maioria das implementações disponíveis na web.

Tks

Foi útil?

Solução

Você também pode conferir o código-fonte aberto / anteriormente comercial TurboPower SysTools . Não tenho certeza quanto ele está sendo atualizado. Em um ponto Julian Bucknall recomenda-se sobre a sua EZDSL biblioteca , embora isso foi quando ele ainda pele trabalhada TurboPower e estava sendo mantido / atualizado.

Outras dicas

Você pode tentar o meu GpStringHash . Garantido há vazamentos de memória, mas funciona apenas com cordas. I pensar que deve funcionar em D5.

EZDSL é uma biblioteca de estruturas de dados, incluindo uma tabela hash, escrito por Julian Bucknall de TurboPower e DevExpress ... Eu não usei-los, mas eu tenho grandes expectativas para o código desse cara.

http://www.boyet.com/FixedArticles/EZDSL.html

Você pode tentar procurar em Koders .
Aqui você tem uma implementação simples ( Winjab projeto ), ou este de JCL .

NOTA:. Veja a licença de códigos antes de usá-lo

Peter Abaixo apenas postou um retrabalho de algo que fez aos newgroups Embarcadero nas public.attachments. Há algo sob o seu perfil no site da CodeGear em http://cc.codegear.com/Item/24825 taht descreve.

decalque , que inclui tabelas de hash e estruturas mais dados.

Além da implementação real de hash-table, the-função hash sendo usado em si também é importante.

Uma boa é uma função hash de Bob Jenkins, ler o seu papel aqui .

Este algoritmo foi melhorado recentemente para casos em que a entrada é DWORD-sized ( Veja o C -version dele aqui ). Esta versão é mais rápida e resulta em duas de hash os valores de 32 bits, em vez de um. (Este segundo valor hash pode ser usado para acelerar a selecção em-balde por exemplo.)

Para os interessados, eu podia colar o Delphi-tradução aqui? (Trata-se de 170 linhas de código.)

RBS Antidot é muito boa biblioteca de recipientes (incluindo UnsortedMap baseado em hash) .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top