1 #include<stdio.h> 2 #include<stdlib.h> 3 typedef struct Node{ 4 int data; 5 Node*next; 6 }Node,*LinkList; 7 InitLinkList(LinkList*L) 8 { 9 *L=(LinkList)malloc(sizeof(Node)); 10 (*L)->next=NULL; 11 } 12 CreateLinkList(LinkList L) 13 { 14 int length,e; 15 Node*t,*r=L; 16 scanf("%d",&length); 17 for(int i=0;i<length;i++) 18 { 19 scanf("%d",&e); 20 t=(LinkList)malloc(sizeof(Node)); 21 t->data=e; 22 r->next=t; 23 r=t; 24 } 25 r->next=NULL; 26 } 27 Delete(LinkList A,LinkList B,LinkList C) 28 { 29 Node*pre=A,*a=A->next,*b=B->next,*c=C->next; 30 while(a&&b&&c) 31 { 32 while(b&&b->data<a->data)b=b->next; 33 while(c&&c->data<a->data)c=c->next; 34 if(a->data==b->data&&b->data==c->data) 35 pre->next=a->next,free(a); 36 else pre=a; 37 a=pre->next; 38 } 39 40 } 41 OrderLinkList(LinkList A) 42 { 43 Node*t=A->next; 44 while(t) 45 { 46 printf("%d ",t->data); 47 t=t->next; 48 } 49 } 50 int main() 51 { 52 LinkList A,B,C; 53 InitLinkList(&A),InitLinkList(&B),InitLinkList(&C); 54 CreateLinkList(A),CreateLinkList(B),CreateLinkList(C); 55 Delete(A,B,C); 56 OrderLinkList(A); 57 return 0; 58 }