doubly linked list doubly linked list (dllcontains an extra pointertypically called previous pointertogether with next pointer and data which are there in singly linked list following is representation of dll node in language /node of doubly linked list *struct node int datastruct nodenext/pointer to next node in dll struct nodeprev/pointer to previous node in dll }following are advantages/disadvantages of doubly linked list over singly linked list advantages over singly linked list dll can be traversed in both forward and backward direction the delete operation in dll is more efficient if pointer to the node to be deleted is given we can quickly insert new node before given node in singly linked listto delete nodepointer to the previous node is needed to get this previous nodesometimes the list is traversed in dllwe can get the previous node using previous pointer disadvantages over singly linked list every node of dll require extra space for an previous pointer it is possible to implement dll with single pointer though all operations require an extra pointer previous to be maintained for examplein insertionwe need to modify previous pointers together with next pointers for example in following functions for insertions at different positionswe need or extra steps to set previous pointer insertion node can be added in four ways at the front of the dll after given node at the end of the dll before given node add node at the front( steps processthe new node is always added before the head of the given linked list and newly added node becomes the new head of dll for example if the given linked list is