Guest User

Untitled

a guest
Jan 21st, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <malloc.h>
  3.  
  4. typedef struct element
  5. {
  6. int info;
  7. struct element *link;
  8. } node;
  9.  
  10. node *mk_link_list (int n)
  11. {
  12. node *p = NULL, *q = NULL, *r = NULL;
  13. int i; int info;
  14. for(i = 0; i<n; i++)
  15. {
  16. scanf ("%d", &info);
  17. r = (node *) malloc (sizeof (node));
  18.  
  19. r->info = info;
  20. r->link = NULL;
  21. if (p == NULL)
  22. p = r;
  23. else
  24. q->link = r;
  25. q = r;
  26. }
  27. return (p);
  28. }
  29.  
  30.  
  31. node *join(node *p, node *q)
  32. {
  33. node *r,*s;
  34. if ((p == NULL)||(q == NULL))
  35. return NULL;
  36. if(p->info < q->info){
  37. s=r=p;
  38. p=p->link;
  39. } else {
  40. s=r=q;
  41. q=q->link;
  42. }
  43. while(p!=NULL && q!=NULL)
  44. {
  45.  
  46. if(p->info < q->info){
  47. r->link=p;
  48. r=p;
  49. p=p->link;
  50. }
  51. else {
  52. r->link=q;
  53. r=q;
  54. q=q->link;
  55. }
  56. }
  57. if(p!=NULL) r->link=p;
  58. else r->link=q;
  59. return(s);
  60. }
  61.  
  62.  
  63.  
  64.  
  65. int main ()
  66. {
  67. node *p1, *p2, *r,*k,*j,*a;
  68. int m, n;
  69.  
  70. scanf("%d",&m);
  71. p1 = mk_link_list(m);
  72.  
  73. scanf("%d",&n);
  74. p2 = mk_link_list(n);
  75.  
  76. r = join(p1, p2);
  77. k=r;
  78. j=r;
  79.  
  80. a=r;
  81. while(k!=NULL)
  82. {
  83. node *z=r;
  84. while(j!=NULL)
  85. {
  86. if(k->info==j->info)
  87. {
  88. while(z->link=!k)
  89. {
  90. z=z->link;
  91. }
  92.  
  93.  
  94.  
  95. if (j -> link == NULL) return;
  96. node *t = z -> link;
  97. z -> link = t -> link;
  98. free(t);
  99. }
  100.  
  101.  
  102. j=j->link;
  103.  
  104. }
  105. k=k->link;
  106.  
  107. }
  108.  
  109. while (r->link!= NULL)
  110. {
  111. printf ("%d ", r->info);
  112. r=r->link;
  113. }
  114. printf ("%d", r->info);
  115.  
  116. return (0);
  117. }
Add Comment
Please, Sign In to add comment