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,*q=L;
16     scanf("%d",&length);
17     for(int i=1;i<=length;i++)
18     {
19         scanf("%d",&e);
20         t=(LinkList)malloc(sizeof(Node));
21         t->data=e;
22         t->next=q->next;
23         q->next=t;
24         q=t;
25     }
26     
27 }
28 LinkList MergeLinkList(LinkList A,LinkList B)
29 {
30     LinkList C=A;
31     Node*a=A->next,*b=B->next,*p,*q;
32     while(a&&b)
33     {
34         p=a,q=b;
35         a=a->next;
36         b=b->next;
37         q->next=p->next;
38         p->next=q;
39         
40     }
41     if(b)q->next=b;
42     
43     return C;
44 }
45 OrderLinkList(LinkList L)
46 {
47     Node*t=L->next;
48     while(t)
49     {
50         printf("%d ",t->data);
51         t=t->next;
52     }
53 }
54 int main()
55 {
56     LinkList A,B,C;
57     InitLinkList(&A),InitLinkList(&B);
58     CreateLinkList(A),CreateLinkList(B);
59     InitLinkList(&C);
60     C=MergeLinkList(A,B);
61     OrderLinkList(C);
62     return 0;
63     
64 }