using namespace std;
struct node
{
int data;
struct node *prev;
struct node *next;
};
class dl
{
struct node *start;
public:
dl()
{
start=NULL;
}
void traverse_forward();
void traverse_reverse();
void insert_item(int item);
void delete_item();
};
void dl::insert_item(int item)
{
struct node *p;
p=(struct node *)malloc(sizeof(struct node));
p->prev=NULL;
p->next=start;
p->data=item;
if(start!=NULL)
start->prev=p;
start=p;
}
void dl::traverse_forward()
{
struct node *temp;
temp=start;
while(temp!=NULL)
{
cout<<temp->data<<endl;
temp=temp->next;
}
}
void dl::traverse_reverse()
{
struct node *temp;
temp=start;
while(temp->next!=NULL)
{
temp=temp->next;
}
while(temp!=NULL)
{
cout<<temp->data<<endl;
temp=temp->prev;
}
}
int main()
{
dl obj;
obj.insert_item(11);
obj.insert_item(12);
obj.insert_item(13);
obj.insert_item(14);
obj.insert_item(15);
obj.insert_item(16);
cout<<"travel forward\n";
obj.traverse_forward();
cout<<"travel reverse\n";
obj.traverse_reverse();
return 0;
}
Comments