notes printf"enter the data values to be placed in node\ ")scanf("% ",& )start insert start&end, )printf("the created list is\ ")printfor start )printf("enter the node number after which the new node is to be inserted\ ")scanf("% ",& )printf("enter the data value to be placed in the new node\ ")scanf("% ",& )start=newinsert(start, , )printfor(start)explanation to insert new node in doubly linked chainit is required to obtain pointer to the node in the existing list after which new node is to be inserted to obtain this pointerthe node number after which the new node is to be inserted is given as input the nodes are assumed to be numbered as , , etc starting from the first node the list is then traversed starting from the start node to obtain the pointer to the specified node let this pointer be new node is then created with the required data valueand the right link of this node is made to point to the node to the right of the node pointed to by and the left link of the newly created node is made to point to the node pointed to by the left link of the node which was to the right of the node pointed to by is made to point to the newly created node the right link of the node pointed to by is made to point to the newly created node question write program to delete specific node from the linked list circular linked list circular linked list is another remedy for the drawbacks of the single linked list besides doubly linked list slight change to the structure of linear list is made to convert it to circular linked listlink field in the last node contains pointer back to the first node rather than null (see figure figure circular linked list from any point in such list it is possible to reach any other point in the list if we begin at given node and traverse the entire listwe ultimately end up at the starting point lovely professional university