#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
struct node *c(int n)
{struct node *head,*tail,*p;
head=(struct node*)malloc(sizeof(struct node));
head->next=NULL;
tail=head;
int i;
for(i=1;i<=n;i++)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
p->next=NULL;
tail->next=p;
tail=p;
}
return head;
};
struct node *shan(struct node *head, int b, int a)
{struct node *q,*p;
int k;
q=head;
while(q->next!=NULL)
{
k=1;
if((q->next->data>=a)&&(q->next->data<=b))
{
k=0;
p=q->next;
q->next=p->next;
free(p);
}
if(k!=0)
q=q->next;
}
return head;
};
void print(struct node *head)
{struct node *p;
p=head->next;
while(p)
{
printf("%d",p->data);
if(p->next)printf(" ");
else
printf("\n");
p=p->next;
}
}
int main()
{struct node *head,*p;
int t,n,max,min;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d",&n,&min,&max);
head=c(n);
head=shan(head,max,min);
p=head;
p=p->next;
if(p==NULL)
{free(p);
printf("-1");
}
else
{print(head);}
}
return 0;
}
链表-删除指定元素
最新推荐文章于 2020-07-14 17:53:50 发布