Advertisement
Guest User

Untitled

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