#include<iostream>
using namespace std;
struct Node
{
int data;
Node *next;
Node *previous;
};
void CreateList(Node*& head, Node*& rear)
{
Node *pNewData = new Node;
Node *pOldData ;
head = pOldData = pNewData;
pNewData->previous = NULL;
cout<< "输入一个值:" <<endl;
cin>> pNewData->data ;
while( pNewData->data)
{
pOldData = pNewData;
pNewData = new Node;
pOldData->next = pNewData;
pNewData->previous = pOldData;
cout<< "输入一个值:" <<endl;
cin>> pNewData->data ;
if( !pNewData->data)
{
break;
}
}
pNewData->next = NULL;
rear = pNewData;
}
void ShowFromFront(Node* list)
{
while( list )
{
cout<< list->data << endl;
list = list->next;
}
}
void ShowFromRear(Node* list)
{
while( list )
{
cout<< list->data << endl;
list = list->previous;
}
}
int main ()
{
Node* head , *rear ;
CreateList(head, rear);
cout<< endl;
ShowFromFront( head );
cout<< endl;
ShowFromRear( rear );
return 0;
}