-
Notifications
You must be signed in to change notification settings - Fork 0
mateusgarciab/HashAlg3
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Aluno: Mateus Garcia Baiak
GRR: 20224378
Nome Dinf: mgb22
Structs:
Para a criação da lista duplamente encadeada foram necessárias as seguintes structs:
struct nodoHash{
int chave;
struct nodoHash* prox;
struct nodoHash* ant;
};
struct listaHash{
struct nodoHash* inicio;
struct nodoHash* fim;
};
Funções de criação e liberação:
A função gerarTabelaHash aloca um vetor do tipo listaHash com o tamanho passado e inicializa todos os ponteiros para NULL.
struct listaHash* gerarTabelaHash(size_t tamTabela)
A função geraNodoHash aloca um nodo com a chave passada inicializa todos os ponteiros para NULL.
struct nodoHash* geraNodoHash(int chave)
A função liberarTabelaHash libera a memória da tabela Hash assim como todos seus nodos.
void liberarTabelaHash(struct listaHash tabelaHash[], size_t tamTabela)
Funções de operação:
A função inserir insere na tabela na última posição da lista ligada, a função não aceita duplicatas.
struct nodoHash* inserir(struct listaHash tabelaHash[], size_t tamTabela, int chave)
A função imprimirTabelaHash imprime na saída padrão a tabela Hash.
void imprimirTabelaHash(struct listaHash tabelaHash[], size_t tamTabela)
A função buscar procura a chave passada, caso encontre retorna o nodo correspondente e caso contrário NULL.
struct nodoHash* buscar(struct listaHash tabelaHash[], size_t tamTabela, int chave)
A função excluir remove o nodo passado da tabela e libera sua memória.
void excluir(struct listaHash tabelaHash[], size_t tamTabela, struct nodoHash* nodo)
Função auxiliar:
A função encontraPosicao é uma função auxiliar utilizada para calcular a posição na tabela que um nodo deve ocupar a partir de sua chave.
size_t encontraPosicao(size_t tamTabela, unsigned int chave)About
No description or website provided.
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published