Each node in a circularly linked list has a next pointer and a reference to an element.
In a circular linked list, the last element stores the address of the starting element.
Instead of having the last node's next pointer be null, in a circularly linked list, it points back to the first node.
Circular linked lists can be used to help the traverse the same list again and again if needed.
In a circular linked list there are two methods to know if a node is the first node or not.
- Either an external pointer, list, points to the first node or
- A header node is placed as the first node of the circular list. (header node can be separated from the others by having a dedicated flag variable to specify if the node is a header node or not.)
The answer will be last node points to the first node of the list.