Tabela hash - linguagem c

551 palavras 3 páginas
/*Em duplas Critérios de avaliação: - edentação - documentação - lógica e execução - otimização - apresentação: domínio e capacidade de explicação (os códigos entregues deverão ser apresentados) Construir um programa em C que receba números inteiros entre 0 a 99 e os adicione em uma tabela hash (vetor de 10 posições). Os processos de inserção, busca e remoção deverão ser baseados no cálculo de endereçamento: função( h ) = chave % tamanhoVetor. O tratamento de colisão deverá ser o ENCADEAMENTO SEPARADO (uso de listas encadeadas em vetores). Finalmente, o programa deverá ter um MENU com a seguinte estrutura: 1 - Inserir 2 - Pesquisar 3 - Remover 4 - Sair Opção: _ Sempre que um dado for inserido é necessário: - mostrar o endereço calculado para o dado; - se houve ou não colisão; Sempre que um dado for pesquisado ou removido é necessário: - mostrar o endereço calculado para o dado; - e se estava ou não em situação de colisão;*/

//Nomes: Rodrigo e Igor

#include
#include
#include
#define TAM 10

typedef struct cel{ int chave; // valor a ser inserido struct cel *prox; //ponteiro para celula proxima }Celula;

/* Esta funcao insere uma nova celula já ordenado em uma lista encadeada.
* A nova celula eh inserida no final da lista.
* Ao final, a lista modificada eh retornada
*/
Celula *inserir(int valor, Celula *lista){ int aux; Celula *nova,*p; nova = (Celula *) malloc(sizeof(Celula)); nova->chave = valor;

if(!lista){ printf("o numero %d nao se encontra em colisao\n",valor); nova->prox=NULL; lista=nova; } else{//quando entra nesse else, já está em colisão printf("o numero %d se encontra em colisao\n",valor); p=lista; while(p->prox!=NULL) p=p->prox; if(nova->chave < p->chave){//inserir ordenado aux=nova->chave; p->chave=nova->chave;

Relacionados

  • Tabela Hash
    2579 palavras | 11 páginas
  • Hash
    4846 palavras | 20 páginas
  • Tecnologia
    2514 palavras | 11 páginas
  • Tabelas Hash
    2134 palavras | 9 páginas
  • Exercicios de programação avançada
    918 palavras | 4 páginas
  • Tecnologia da informaçao
    4662 palavras | 19 páginas
  • Operador Aritimético
    1399 palavras | 6 páginas
  • PESQUISA TABELA HASH
    1659 palavras | 7 páginas
  • Tabela hash - Universidade Federal de Ouro Preto
    1936 palavras | 8 páginas
  • Linguagem de programação java
    3168 palavras | 13 páginas