data structures using start take pointer variable ptr that points to the first node of the list startptr move ptr further so that it now points to the last node of the list ptr start make start point to the second node of the list free the space occupied by the first node start figure deleting the first node from circular doubly linked list step if start null write underflow go to step [end of ifstep set ptr start step repeat step while ptr -next !start step set ptr ptr -next [end of loopstep set ptr -next start -next step set start -next -prev ptr step free start step set start ptr -next figure algorithm to delete the first node howeverif there are nodes in the linked listthen we use pointer variable ptr that is set to point to the first node of the list for thiswe initialize ptr with start that stores the address of the first node of the list the while loop traverses through the list to reach the last node once we reach the last nodethe next pointer of ptr is set to contain the address of the node that succeeds start finallystart is made to point to the next node in the sequence and the memory occupied by the first node of the list is freed and returned to the free pool deleting the last node from circular doubly linked list consider the circular doubly linked list shown in fig suppose we want to delete the last node from the linked listthen the following changes will be done in the linked list start take pointer variable ptr that points to the first node of the list startptr move ptr further so that it now points to the last node of the list free the space occupied by ptr ptr start start figure deleting the last node from circular doubly linked list