advanced linked lists listref " " " " " "vlistref figure examples of circular linked lists single external reference variable is used to point to node within the list technicallythis could be any node in the listbut for conveniencethe external reference is commonly set to the last node added to the list by referencing that nodewe have quick access to both the first node added and the last list operations the common set of operations performed on the linear versions of the linked list can also be performed on circular linked list howeversome modifications are required in the algorithm for each operation to take into account the location of the external reference variable and the fact that none of the nodes have null next field in this sectionwe describe the various list operations for use with sorted singly linked circular list these operations require only slight modifications when applied to an unsorted circular list or the doubly linked version traversals traversing circular linked list requires temporary external reference that is moved through the listone node at timejust like the linear versions for the circular listseveral modifications are requiredall of which are necessary in order to perform complete traversal while terminating the loop at the proper time terminating the loop is not as straightforward with the circular list since there are no nodes that have their next field set to none even in single-node listthe link field of the last node always points back to the first node we cannot simply initialize the curnode reference to the first node and traverse until it "falls offthe list as was done in the linear versions insteadwe need way to flag the end of the traversal independent of the link fields the algorithm for traversing circular linked list is provided in listing the traversal process begins by initializing curnode to reference the last node in the listas illustrated in figure (athe traversal reference begins at the last node instead of the first because we are going to terminate the traversal when it again reaches the last nodeafter iterating over the entire list the termination