BJFUOJ:删除链表中满足区间值的结点
#include<bits/stdc++.h>
using namespace std;
typedef struct Lnode{
int num;
struct Lnode *next;
}Lnode,*Linklist;
void InitLinklist(Linklist &l){
l = new Lnode;
l->next = NULL;
}
void CreatLinklist(Linklist &l,int n){
Linklist r = l,p;
for(int i=1;i<=n;i++){
p = new Lnode;
cin>>p->num;
p->next = r->next;
r->next = p;
r = p;
}
}
void Del(Linklist &l,int mink,int maxk){
Linklist p = l;
while(p->next){
if(p->next->num>=mink && p->next->num<=maxk){
p->next = p->next->next;
}else{
p = p->next;
}
}
}
void Out(Linklist &l){
Linklist p = l->next;
while(p->next){
cout<<p->num<<" ";
p = p->next;
}
cout<<p->num<<endl;
}
int main(){
while(1){
int n,mink,maxk;
cin>>n;
if(n==0) break;
Linklist l;
InitLinklist(l);
CreatLinklist(l,n);
cin>>mink>>maxk;
Del(l,mink,maxk);
Out(l);
}
}