Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct node {
  5. int valor;
  6. struct node *prox;
  7. struct node *ante;
  8. }Lista;
  9.  
  10. Lista *criar (Lista*, int x);
  11. void show(Lista *);
  12. Lista *remover(Lista*, int);
  13. Lista *dividir (Lista *, int);
  14.  
  15. int main (){
  16. Lista *prim = NULL,*prim2;
  17. int i;
  18.  
  19. for (i=0;i<5;i++)
  20. prim = criar(prim,i);
  21.  
  22. show(prim);
  23. prim = remover(prim, 4);
  24. printf ("\n");
  25. show(prim);
  26. /* prim2 = dividir(prim,2);
  27. printf ("\n");
  28. show (prim2); */
  29. return 0;
  30. }
  31.  
  32. /*Lista *dividir (Lista *ini, int x){
  33. Lista *p=ini->prox, *q = ini;
  34. for (; p != ini && p->valor != x ; q = p, p = p->prox);
  35. if ( p-> valor == x){
  36. if ( p == ini){
  37. ini = ini->prox;
  38. ini->ante = q;
  39. }else {
  40. p->ante = aux;
  41. }
  42.  
  43. return ini;
  44. }
  45. }*/
  46.  
  47. void show(Lista *ini){
  48. Lista *p=ini;
  49. while (1){
  50. printf ("%d -> ",p->valor);
  51. p=p->prox;
  52. if (p==ini){
  53. break;
  54. }
  55. }
  56. }
  57.  
  58. Lista *remover(Lista *ini, int x){
  59. Lista *p = ini->prox, *q = ini;
  60. for (; p != ini && p->valor != x ; q = p, p = p->prox);
  61. if (p->valor == x){
  62. if ( p == ini){
  63. ini = ini->prox;
  64. ini->ante = q;
  65. }else {
  66. p->prox->ante = q;
  67. }
  68. q->prox = p->prox;
  69. free(p);
  70. }
  71. return ini;
  72. }
  73.  
  74. Lista *criar (Lista *ini, int x){
  75. Lista *p, *q;
  76. p = malloc(sizeof(Lista));
  77. if (!p){
  78. printf("Memória Insuficiente!!");
  79. exit (-1);
  80. }
  81.  
  82. p->valor = x;
  83.  
  84. if ( ini == NULL){
  85. ini = p;
  86. }else {
  87. q->prox = p;
  88. }
  89.  
  90. ini->ante = p;
  91. p->ante = q;
  92. p->prox = ini;
  93. q = p;
  94.  
  95. return ini;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement