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.

Can be single or double!

Circular Singly Linked List
Curcular Doubly Linked List

Advantages of Circular Linked Lists: 

  • Any node can be a starting point. We can traverse the whole list by starting from any point. We just need to stop when the first visited node is visited again. 
  • Useful for implementation of a queue. Unlike this implementation, we don’t need to maintain two pointers for front and rear if we use a circular linked list. We can maintain a pointer to the last inserted node and the front can always be obtained as next of last.

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.
Scroll to Top