Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct lista {
- int info;
- struct lista* prox;
- } Lista;
- Lista* lista_cria() {
- return NULL;
- }
- Lista* lista_insere (Lista* l, int i) {
- Lista* novo = (Lista*) malloc(sizeof(Lista));
- novo->info = i;
- novo->prox = l;
- return novo;
- }
- void lista_imprime (Lista* l) {
- Lista* p; /* variavel auxiliar para percorrer a lista */
- for (p = l; p != NULL; p = p->prox)
- printf("info = %d\n", p->info);
- }
- /* função separa */
- Lista* inverte (Lista* l)
- {
- Lista* p; /* variável auxiliar para percorrer a lista */
- Lista* q; /* variável auxiliar para nova lista */
- int aux;
- for (p = l; p != NULL ; p = p->prox)
- if (p->info == NULL)
- {
- aux = p->prox;
- p->prox = NULL;
- return p;
- }
- }
- main() {
- Lista* l;
- int n;
- l = lista_cria();
- l = lista_insere(l, 23);
- l = lista_insere(l, 45);
- l = lista_insere(l, 67);
- l = lista_insere(l, 89);
- l = lista_insere(l, 1011);
- printf("\nLista:\n");
- lista_imprime(l);
- printf("\n***Invertendo a lista***\n");
- Lista_inverte(l);
- printf("\nLista depois da inversao:\n");
- lista_imprime(l);
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement