A variation of the linked list where the successor pointer of the final node (Tail) is linked directly back to the initial node (Head), creating an unbroken circular continuum.
Because there are no NULL references, traversal starting from any node can seamlessly visit every node in the cycle.
Widely applied in multi-player turn-based games, round-robin CPU scheduling, and repeat-loop audio playlist engines.
Traversals must track the initial visited node (e.g. head) or utilize a counter to avoid executing indefinite loops.
If maintained with a single tail reference, both prepend and append run in O(1) because tail.next directly accesses head.
When the list contains exactly one node, its next pointer references itself (node.next = node).
Round-robin schedulers utilize circular linked lists to continuously cycle CPU timeslices among running threads.