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