
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 }