notes this recursive version also uses strategy of inserting node in an existing list to create the list an insert function is used to create the list the insert function takes pointer to an existing list as the first parameterand data value with which the new node is to be created as the second parameter it creates the new node by using the data valuethen appends it to the end of the list it then returns pointer to the first node of the list initiallythe list is emptyso the pointer to the starting node is null thereforewhen insert is called the first timethe new node created by the insert function becomes the start node subsequentlythe insert function traverses the list by recursively calling itself the recursion terminates when it creates new node with the supplied data value and appends it to the end of the list deleting the specified node in singly linked list to delete nodefirst we determine the node number to be deleted (this is based on the assumption that the nodes of the list are numbered serially from to nthe list is then traversed to get pointer to the node whose number is givenas well as pointer to node that appears before the node to be deleted then the link field of the node that appears before the node to be deleted is made to point to the node that appears after the node to be deletedand the node to be deleted is freed figures and show the list before and after deletionrespectively lab exercise program include include struct node *delet struct node *int )int length struct node )struct node int datastruct node *link}struct node *insert(struct node *pint nstruct node *tempif( ==nullp=(struct node *)malloc(sizeof(struct node))if( ==nullprintf("error\ ")exit( ) -data np-link null lovely professional university