notes doubly linked lists in the single linked list each node provides information about where the next node is in the list it faces difficulty if we are pointing to specific nodethen we can move only in the direction of the links it has no idea about where the previous node lies in memory the only way to find the node which precedes that specific node is to start back at the beginning of the list the same problem arises when one wishes to delete an arbitrary node from single linked list since in order to easily delete an arbitrary node one must know the preceding node this problem can be avoided by using doubly linked listwe can store in each node not only the address of next node but also the address of the previous node in the linked list node in doubly linked list has three fields (figure data left link right link figure node of doubly linked list link data link left link keeps the address of previous node and right link keeps the address of next node doubly linked list has following property = ->llink->rlink= ->rlink->llink link link this formula reflects the essential virtue of this structurenamelythat one can go back and forth with equal ease implementation of doubly linked list structure of node of doubly linked list can be defined asstruct node int datastruct node *llinkstruct node *rlinklab exercise program include include struct dnode lovely professional university