doubly linked list
doubly linked list
}
else
{
temp->next=NULL;
temp->prev=rear;
rear->next=temp;
rear=temp;
}
return start;
}
n * l :: deletend(n * start)
{
temp=start;
if(rear==NULL)
{
cout<<"\n deletion is not possible";
}
else if(rear->prev==NULL)
{
temp=rear;
start=rear=NULL;
}
else
{
temp=rear;
rear=rear->prev;
rear->next=NULL;
}
return start;
}
n * l :: deletbeg(n * start)
{
temp=start;
if(start==NULL)
{
cout<<"\n deletion is not possible";
}
else if(start==rear)
{
start=rear=NULL;
delete temp;
}
else
{
start=start->next;
start->prev=NULL;
delete temp;
}
return start;
}
l o;
do
{
cout<<"\n 1.create";
cout<<"\n 2.insert at beginning";
cout<<"\n 3.insert at end";
cout<<"\n 4.delete from beginning";
cout<<"\n 5.delete from end";
cout<<"\n 6.display";
cout<<"\n 7.end";
cout<<"\n enter your choice";
cin>>ch;
switch(ch)
{
case 1:start=o.create(start);
continue;
case 2:start=o.insertbeg(start);
continue;
case 3:start=o.insertend(start);
continue;
case 4:start=o.deletbeg(start);
continue;
case 5:start=o.deletend(start);
continue;
case 6:o.display(start);
continue;
case 7:exit(0);
}
}
while(ch!=7);
return 0;