Advertisement
Guest User

Compare Linked Lists Info

a guest
Apr 13th, 2011
434
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.55 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;
  22.    for (p = l; p; p = p->prox)
  23.        printf("info = %d\n", p->info);
  24. }
  25.  
  26. int igual (Lista *l1, Lista *l2)
  27. {
  28.         Lista* p1;  
  29.         Lista* p2;
  30.      
  31.         for (p1 = l1, p2 = l2; (p1) && (p2) ; p1 = p1->prox, p2=p2->prox) {        
  32.                 if (p1->info != p2->info)
  33.                         return 0;
  34.        }
  35.        return 1;
  36. }
  37.  
  38. Lista* lista_libera (Lista* l) {
  39.    Lista* p = l;
  40.    while (p != NULL) {
  41.        Lista* t = p->prox;
  42.        free(p);          
  43.        p = t;              
  44.    }
  45.    return NULL;
  46. }
  47.  
  48. int main() {
  49.    Lista* l;
  50.    Lista* l2;
  51.    int n;
  52.    l = lista_cria();
  53.    l = lista_insere(l, 23);
  54.    l = lista_insere(l, 45);
  55.    l = lista_insere(l, 67);
  56.    l = lista_insere(l, 89);
  57.    l = lista_insere(l, 1011);
  58.    printf("\nLista original:\n");
  59.    lista_imprime(l);
  60.    
  61.    
  62.    l2 = lista_cria();
  63.    l2 = lista_insere(l2, 23);
  64.    l2 = lista_insere(l2, 45);
  65.    l2 = lista_insere(l2, 67);
  66.    l2 = lista_insere(l2, 89);
  67.    l2 = lista_insere(l2, 1011);
  68.    
  69.    lista_imprime(l2);
  70.    
  71.    printf("\nVerifica se os caracteres são iguais:\n");
  72.    printf( "%d", igual(l,l2));
  73.    
  74.    lista_libera(l);
  75.    lista_libera(l2);
  76.  
  77.    getch();
  78.    return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement