Lista encadeada

292 palavras 2 páginas
#include typedef struct lista { char info; struct lista *prox;
} Lista;
Lista* inicializa (void);
Lista* insere (Lista* l, char i[]); void imprime (Lista* l);
Lista* busca (Lista* l, char v[]);
Lista* retira (Lista* l, char v[]);

int main (void){ Lista* l; /* declara uma lista não inicializada */ l = inicializa(); /* inicializa lista como vazia */ l = insere(l, "Ricardo Laskoski"); /* insere na lista o elemento 23 */ l = insere(l, "Jagner Rafael"); /* insere na lista o elemento 45 */ l = insere(l, "Manfred Heil Junior"); /* insere na lista o elemento 45 */ l = insere(l, "Evandro Souza Lopes"); /* insere na lista o elemento 45 */ //função impressão imprime(l); printf("\n"); //função de busca if (busca(l, "Ricardo Laskoski")) printf("\nAchou elemento\n"); else printf("\nNao achou elemento\n"); printf("\n"); //função de retirada printf("\n"); imprime(l); //l = retira(l, 90); imprime(l); printf("\n"); getch(); return 0;
}

Lista* inicializa (void){ return NULL;
}

Lista* insere (Lista* l, char i[]){ Lista* novo = (Lista*) malloc(sizeof(Lista)); novo->info = i; novo->prox = l; return novo;
}

void imprime (Lista* l){ Lista* p; for (p = l; p != NULL; p = p->prox) printf("info = %s\n", p->info);
}

Lista* busca (Lista* l, char v[]){ Lista* p; for (p=l; p!=NULL; p=p->prox) if (p->info == v) return p; return NULL; /* não achou o elemento */
}

Lista* retira (Lista* l, char v[]){ Lista* ant = NULL; /* ponteiro para elemento anterior */ Lista* p = l; /* ponteiro para percorrer a lista*/ /* procura elemento na lista, guardando anterior */ while (p != NULL && p->info != v) { ant = p; p = p->prox;

Relacionados

  • Listas encadeadas
    544 palavras | 3 páginas
  • Lista Encadeada
    291 palavras | 2 páginas
  • Listas encadeadas
    509 palavras | 3 páginas
  • LISTA ENCADEADA
    290 palavras | 2 páginas
  • listas encadeadas
    793 palavras | 4 páginas
  • lista encadeada
    1592 palavras | 7 páginas
  • Lista encadeada
    2771 palavras | 12 páginas
  • Listas Encadeadas
    549 palavras | 3 páginas
  • Lista encadeada
    1159 palavras | 5 páginas
  • lista encadeada
    430 palavras | 2 páginas