using namespace std;
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
bool InitList(LinkList &L){
L=new LNode;
L->next = NULL;
return true;
}
bool InsetList(LinkList &L,int i,int a){
int j=0;
LNode *p=L;
while(p&&j<i-1){
p=p->next;
j++;
}
if(j>i) return false;
LNode *s = new LNode;
s->data = a;
s->next = p->next;
p->next = s;
return true;
}
void Travers(LinkList L){
LNode *p = L->next;
while(p){
cout<<p->data;
p=p->next;
}
}
void DeleteValue(LinkList &L,int mink,int maxk){
LNode *p = L;
LNode *s;
while(p->next&&p->next->data<=mink)
p = p->next;
if(p->next==NULL) return;
while(p->next&&p->next->data<maxk){
s = p->next;
p->next = s->next;
delete s;
}
}
int main() {
LinkList L;
InitList(L);
for(int i=1;i<=5;i++){
InsetList(L,i,i);
}
DeleteValue(L,2,5);
Travers(L);
return 0;
}