Lle - lista linear encadeada em c

481 palavras 2 páginas
#include
#include
//****************************************************************************
//estrutura de nodo e vetor struct no{//informa??o do no int valor; struct no *prox; };

typedef struct no nodo;

//**************************************************************************** nodo *InsereOrdenadoLista(int val, nodo *ini) { nodo *ptAux1, *ptAux2, *novo;

if(ini==NULL){ ini = (nodo *) malloc (sizeof (nodo)); ini->valor = val; ini->prox = NULL; } else { novo = (nodo *) malloc (sizeof (nodo)); //aloca memoria para novo nodo novo->valor = val; //testa se entra antes do primeiro if(ini->valor >= novo->valor){ novo->prox = ini; ini = novo; } else{ //se s? tem um nodo if(ini->prox == NULL) { novo->prox = NULL; ini->prox = novo; } else { //se tem mais de um nodo ptAux1 = ini->prox; ptAux2 = ini; while (ptAux1->prox != NULL && ptAux1->valor < novo->valor){ ptAux2 = ptAux1; ptAux1 = ptAux1->prox; } //se deve inserir no meio para manter a ordenacao if(ptAux1->valor >= novo->valor){ novo->prox = ptAux1; ptAux2->prox = novo; } else { //se o novo nodo for maior que todos, ? inserido no final novo->prox = NULL; ptAux1->prox = novo; } } } } return ini;
}

//**************************************************************************** void ExibeLista(nodo *ini) { nodo *ptAux; if(ini==NULL){ printf("Lista

Relacionados

  • Computação
    74436 palavras | 298 páginas
  • BITTAR Eduardo C
    395451 palavras | 1582 páginas
  • contabilidade
    161582 palavras | 647 páginas