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 DelLinkList(LinkList L)
28 {
29     Node*t,*q,*r;
30     for(t=L->next;t;t=t->next)
31     {
32         r=t->next;
33         while(r&&r->data==t->data)
34         {
35             q=r;
36             r=r->next;
37             t->next=q->next;
38             free(q);
39         }
40     }
41 }
42 OrderLinkList(LinkList L)
43 {
44     Node*t=L->next;
45     while(t)
46     {
47         printf("%d ",t->data);
48         t=t->next;
49     }
50 }
51 int main()
52 {
53     LinkList L;
54     InitLinkList(&L);
55     CreateLinkList(L);
56     DelLinkList(L);
57     OrderLinkList(L);
58     return 0;
59     
60 }