Doubly Linked List
Doubly Linked List
Struct node
struct node*prev;
int data;
struct *next;
};
new->prev=NULL;
else
{
tail->next=new;
new->prev=tail;
tail=new;
DISPLAY:
1000 20 3000
{ 2000
printf(“%d”,temp->data)
Insertion at beginning:
scanf(“%d”,&value);
new->data=value;
new->prev=null;
new->next=head;
head->prev=new;
head=new;
Insertion at ending:
scanf(“%d”,&value);
new->data=value;
new->next=null;
new->prev=tail;
tail->next=new;
tail=new;
DELETION
Beginning:
temp=head;
head=head->next;
temp->next=NULL;
head->prev=NULL;
Ending:
temp=tail;
tail=tail->prev;
temp->prev=NULL;
tail->next=NULL;
scanf(“%d”,&pos);
temp=head;
for(i=0;i<pos-1;i++)
temp=temp->next;
temp->next=temp->next->next;
temp->next->prev=temp;