|
|
Postada em 16/11/2004 12:27 hs
Olá pessoal eu tenho uma agenda em arquivo texto e preciso criar uma função hash table para colocar estes registros da agenda em outro arquivo (numa estrutura hash), alguém tem uma função de hash table? Obrigado
|
|
|
|
|
|
|
|
Postada em 16/11/2004 12:47 hs
Caro Martini, Não tenho em mãos um código para tabelas Hash, mas por quê você quer tabelas hash? Elas são usadas para classificação de vetores em memória e não para transferência de dados. Se você for usar um banco de dados para receber os dados do arquivo texto, não precisa fazer isso, pois o próprio BD poderá classificar os dados para você. Além disso, se você precisa transferir dados para outro arquivo texto, porém classificados, pode criar um recordset em memória, adicionar campos à ele, carregar os dados usando uma leitura sequencial e incluí-los no recordset. Depois, basta forçar uma classificação no recordset e varrê-lo com um loop pegando os dados novamente e gravando em outro arquivo texto. Se não for nada disso o seu problems, por favor detalhe melhor. Um abraço, Sandro.
|
|
|
|
|
|
Postada em 16/11/2004 13:12 hs
não é questão de ordenação, são 80000 registros e função hash deve criar uma chave onde seja bem distribuído o número de registros por chave exemplo: Agenda: Maria Maria Isabel João Pedro Agenda hash: 123 Maria; Maria Isabel 124 João 125 Pedro
|
|
|
|
|
|
Postada em 16/11/2004 22:58 hs
Há a necessidade de continuar usando um arquivo texto? Pelo visto você irá aproveitar o "defeito" da colisão em tabelas hash como um recurso de localização. Eu tenho um código que usa tabelas hash para busca em memória. Mas aí você teria de carregar todos os 80.000 registros em um vetor...seria muito lento. Além disso, o código procura fazer justamente o inverso do que você pretende. Ele tenta minimizar ao máximo as colisões. Ainda acho melhor converter para um BD, mas se ainda assim você quiser o código que eu tenho, deixe o seu e-mail que eu mando o código para você. Ele foi tirado da revista VSPJ.
|
|
|
|
|
|
Postada em 17/11/2004 08:17 hs
|
|
|
|
|
|
|