fig insertion before pthe trick evidently consists of actually inserting new component after pand thereafter interchanging the values of the new element and pnextwe consider the process of list deletion deleting the successor of pis straightforward this is shown here in combination with the reinsertion of the deleted element at the head of another list (designated by qfigure illustrates the situation and shows that it constitutes cyclic exchange of three pointers : nextp next : nextr next :qq : fig deletion and re-insertion the removal of designated element itself (instead of its successoris more difficultbecause we encounter the same problem as with insertiontracing backward to the denoted element' predecessor is impossible but deleting the successor after moving its value forward is relatively obvious and simple solution it can be applied whenever phas successori is not the last element on the list howeverit must be assured that there exist no other variables pointing to the now deleted element we now turn to the fundamental operation of list traversal let us assume that an operation (xhas to be performed for every element of the list whose first element is pthis task is expressible as followswhile list designated by is not empty do perform operation pproceed to the successor end in detailthis operation is descibed by the following statementwhile nil do ( ) : next