Circular Linked Lists

A circular linked list has no NULL pointers. The next (and previous pointer, if present) always point to another list node. If the list only contains one node then the node points to itself.
In a circular list there is no notion of first or last, the root or anchor points to any node and all other nodes may be accessed from this one. It is usually used for lists without apparent order.
Unlike a straight list, the root or anchor may be moved without affecting what nodes are available, even in a singly linked list. Often the root or anchor may be used to search the list, which is never done for a straight list.
An example of why a circular list would be helpful is given in the next exhibit.

An example needing a circular list