Programa lista ligada- estrutura de dados

332 palavras 2 páginas
#include
#include

struct lista { int info; struct lista* prox;
};

typedef struct lista Lista;

/* função de inicialização: retorna a lista vazia */
Lista* inicializa (void)
{
return NULL;
}

/* inserção no inicio: retorna a lista atualizada */
Lista* insere (Lista* l, int i )
{
Lista* novo= (Lista*) malloc (sizeof (Lista)); novo->info=i ; novo->prox=l; return novo;
}

/* função imprime: imprime os valores dos elementos */ void imprime(Lista* l)
{
Lista* p; /* variavel auxiliar pra percorrer a lista */ for(p = l; p != NULL; p = p->prox) printf("info= %d\n", p-> info);
}

/* função vazia: retorna 1 se vazia ou 0 se não vazia */ int vazia (Lista* l )
{
if (l==NULL) return 1; else return 0;
}

/* função busca: busca um elemento na lista */
Lista* busca (Lista* l,int v)
{
Lista* p ; for (p=l; p !=NULL; p=p->prox) if(p->info==v) return p; return NULL; /* não achou o elemento */
}

/* função retira: retira elemento da lista */
Lista* retira(Lista* l, int v ){ Lista* ant= NULL; /* ponteiro para elemento anterior */ Lista* p = l; /* ponteiro para percorrer a lista */ /* procura elemento na lista, guardando anterios */ while (p != NULL && p-> info != v){ ant=p; p= p -> prox; }

/* verifica se achou elemento */ if (p == NULL) return l; /* NÃO ACHOU: retorna lista original */ /* retira elemento */ if (ant== NULL) { /*retira o elemento do inicio */ l=p -> prox;} else{ /* retira elemento do meio da lista */ ant-> prox = p->prox; }

free (p); return l;
}

void libera (Lista* l)
{
Lista* p =l; while(p !=NULL){ Lista* t = p-> prox;

Relacionados

  • estrutura de dados
    17623 palavras | 71 páginas
  • Just fear...
    1062 palavras | 5 páginas
  • Estrutura de dados e algoritmos
    834 palavras | 4 páginas
  • Ads unopar 3 semestre
    2747 palavras | 11 páginas
  • estrutura de dados
    743 palavras | 3 páginas
  • Unopar - tsi - 3o semestre
    2549 palavras | 11 páginas
  • java
    844 palavras | 4 páginas
  • atps
    3648 palavras | 15 páginas
  • ATPS ED 2
    1633 palavras | 7 páginas
  • Lista Simplesmente Encadeada
    2239 palavras | 9 páginas