Circular Linked List
The circular linked list is a linked list where all nodes are connected to form a circle. In a circular linked list, the first node and the last node are connected to each other which forms a circle. There is no NULL at the end.
In a circular Singly linked list, the last node of the list contains a pointer to the first node of the list. We can have circular singly linked list as well as circular doubly linked list.
- We traverse a circular singly linked list until we reach the same node where we started.
- The circular singly liked list has no beginning and no ending.
- There is no null value present in the next part of any of the nodes.
- The following image shows a circular singly linked list.
Operations on Circular Singly linked list:
Insertion
Deletion & Traversing
Advantages of Circular Linked List
- Any node can be a starting point. We can traverse the whole list by starting from any point.
- Useful for implementation of queue.
- Circular lists are useful in applications to repeatedly go around the list.
Disadvantages of circular linked list:
- Compared to singly linked lists, circular lists are more complex.
- Reversing a circular list is more complicated than singly or doubly reversing a circular list.
- It is possible for the code to go into an infinite loop if it is not handled carefully.
- It is harder to find the end of the list and control the loop.
Applications of circular linked lists:
- Multiplayer games use this to give each player a chance to play.
- Circular linked lists can be used in resource allocation problems.
- Circular linked lists are commonly used to implement circular buffers,
- Circular linked lists can be used in simulation and gaming.