Advertisement
Guest User

Untitled

a guest
Apr 13th, 2011
1,582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.27 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct lista {
  5.    int info;
  6.    struct lista* prox;
  7. } Lista;
  8.  
  9. Lista* lista_cria() {
  10.    return NULL;
  11. }
  12.  
  13. Lista* lista_insere (Lista* l, int i) {
  14.    Lista* novo = (Lista*) malloc(sizeof(Lista));
  15.    novo->info = i;
  16.    novo->prox = l;
  17.    return novo;
  18. }
  19.  
  20. void lista_imprime (Lista* l) {
  21.    Lista* p; /* variavel auxiliar para percorrer a lista */
  22.    for (p = l; p != NULL; p = p->prox)
  23.        printf("info = %d\n", p->info);
  24. }
  25.  
  26. /* função separa */
  27. Lista* inverte (Lista* l)
  28. {
  29.      Lista* p;   /* variável auxiliar para percorrer a lista */
  30.      Lista* q;   /* variável auxiliar para nova lista */
  31.      int aux;
  32.      
  33.        for (p = l; p != NULL ; p = p->prox)
  34.  
  35.           if (p->info == NULL)
  36.           {
  37.               aux = p->prox;
  38.               p->prox = NULL;
  39.           return p;
  40.           }
  41. }
  42.  
  43. main() {
  44.    Lista* l;
  45.    int n;
  46.    l = lista_cria();
  47.    l = lista_insere(l, 23);
  48.    l = lista_insere(l, 45);
  49.    l = lista_insere(l, 67);
  50.    l = lista_insere(l, 89);
  51.    l = lista_insere(l, 1011);
  52.    printf("\nLista:\n");
  53.    lista_imprime(l);
  54.    printf("\n***Invertendo a lista***\n");
  55.    Lista_inverte(l);
  56.    printf("\nLista depois da inversao:\n");
  57.    lista_imprime(l);
  58.    getch();
  59.    
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement