top of page
Writer's pictureApurba Paul

Doubly Linked List- Part 3

//Function to delete a node at the end of the doubly linked list

void delete_end()

{

Node *temp;

temp=last;

temp->lptr->rptr=NULL;

last=temp->lptr;

free(temp);

}

____________________________________________________________________

//Function to delete a node at the beginning of the doubly linked list

void delete_beginning()

{

Node *temp;

temp=start;

temp->rptr->lptr=NULL;

start=temp->rptr;

free(temp);

}

_______________________________________________________________________

//Function to delete a node at the desired position of the doubly linked list

void delete_node_desired(int pos)

{

Node *temp=start;

int x=1;

while(x<pos && temp!=NULL)

{

temp=temp->rptr;

x++;

}

if(pos==1)

{

delete_beginning();

}

else if(temp==last)

{

delete_end();

}

else if(temp!=NULL){

temp->lptr->rptr = temp->rptr;

temp->rptr->lptr = temp->lptr;

free(temp);

}

else

{

printf(" The given position is invalid!\n");

}

}

9 views0 comments

Recent Posts

See All

Comments


bottom of page