#include <iostream>
using namespace std;
struct TList
{
int Data; TList *Prev,*Next;
}
TList *begin=NULL;*end=NULL;*cur=NULL;
void inn(int d)
{
TList *tmp=new TList();
tmp->Data=d;
if(cur==NULL)
{
tmp->Prev=tmp->Next=NULL;
begin=end=cur=tmp;
}
else
{
tmp->Next=cur->Next;
tmp->Prev=cur;
cur->Next=tmp;
cur=tmp;
if(cur->Next==NULL)end=cur;
}
}
void inp(int d)
{
TList *tmp=new TList();
tmp->Data=d;
if(cur==NULL)
{
tmp->Prev=tmp->Next=NULL;
begin=end=cur=tmp;
}
else
{
tmp->Next=cur;
tmp->Prev=cur->Prev;
cur->Prev=tmp;
cur=tmp;
if(cur->Prev==NULL)begin=cur;
}
}
void delcur()
{
if(cur==NULL)
{
cout<<"Notzhing to do!"<<endl;
return;
}
if(cur==begin&&cur==end)
{
delete cur;
begin=end=cur=NULL;
return;
}
if(cur!=begin)cur->Prev->Next=cur->Next;
else begin=cur->Next;
if(cur!=end)cur->Next->Prev=cur->Prev;
else end=cur->Prev;
delete cur;
cur=begin;
}
void listn()
{
for(cur=begin;cur!=end->Next;cur=cur->Next) cout<<cur->Data<<endl;
}
void listp()
{
for(cur=end;cur!=begin->Prev;cur=cur->Prev) cout<<cur->Data<<endl;
}
int main()
{
int n,d; cout<<"\nHow many numbers? ";
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<i<<" Number? ";
cin>>d;
inn(d);
}
cout<<endl;
listn();
cout<<endl;
cur=begin->Next;
delcur();
listp();
getchar();
getchar();
return 0;}