Aula-hashing

675 palavras 3 páginas
#include
#include
#define TAM 10
//estrutura para listas duplamente encadeadas typedef struct cel { int conteudo; struct cel *ant, *prox;
} Celula;
/** Metodo que adiciona elementos na lista duplamente encadeada controlando a duplicidade e ordem */
Celula *inserir (int valor, Celula *lista){ Celula *nova; nova=(Celula*) malloc(sizeof(Celula)); nova->conteudo=valor; if (!lista){ //1ª VEZ lista=nova; nova->ant=NULL; //lista->ant=NULL; nova->prox=NULL; //lista->prox=NULL; } else { //GARANTIR QUE A LISTA ESTÁ NO INíCIO while (lista->ant) lista=lista->ant; if (valorconteudo){ //o valor sera o 1º da lista lista->ant=nova; nova->prox=lista; nova->ant=NULL; } else{ //--------------------------------------// while ((lista->prox)&&(valor>lista->conteudo)) //DEPOIS DO && PARA CONTROLAR ORDEM! [1,2,3,4...] lista=lista->prox; //VERIFICAR PQ SAIR DA REPETIÇÃO if (valor==lista->conteudo) printf ("Dado jah cadastrado!\n"); //CONTROLA DUPLICIDADE else if (valorconteudo){ lista->ant->prox=nova; nova->ant=lista->ant; nova->prox=lista; lista->ant=nova; } else { nova->prox=NULL; nova->ant=lista; lista->prox=nova; } } } return lista;
}

/* funcao que recebe um valor inteiro e uma lista duplamente encadeada * e remove da lista a primeira celula que contiver valor, * caso a celula existir. Ao final, a lista alterada eh retornada */
Celula *remover(int valor, Celula *lista) { Celula *pAux;

while (lista->ant) lista = lista->ant;

pAux = lista; while (pAux != NULL && pAux->conteudo != valor) pAux = pAux->prox;

if (pAux != NULL){ //unico elemento na lista if (pAux->ant == NULL &&

Relacionados

  • Teste
    881 palavras | 4 páginas
  • Tabela hash - Universidade Federal de Ouro Preto
    1936 palavras | 8 páginas
  • Pesquisa e Ordenação de dados
    775 palavras | 4 páginas
  • Analisador semantico
    6324 palavras | 26 páginas
  • 01 Armazenamento E Organiza O De Arquivos
    4543 palavras | 19 páginas
  • Questionario de informatica
    2863 palavras | 12 páginas
  • Pesquisa sequencial
    1216 palavras | 5 páginas
  • Formatação abnt - atps anhanguera
    341 palavras | 2 páginas
  • Atps de algebra linear e geometria analitica etapa 4
    371 palavras | 2 páginas
  • Normas bnt
    374 palavras | 2 páginas