# Circular Linked List | Set 1 (Introduction and Applications)

We have discussed singly and doubly linked lists in the following posts.

Introduction to Linked List & Insertion

Doubly Linked List Introduction and Insertion

**Circular linked list** is a linked list where all nodes are connected to form a circle. There is no NULL at the end. A circular linked list can be a singly circular linked list or doubly circular linked list.

**Advantages of Circular Linked Lists:**

**1) **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.

**2) ** Useful for implementation of queue. Unlike this implementation, we don’t need to maintain two pointers for front and rear if we use circular linked list. We can maintain a pointer to the last inserted node and front can always be obtained as next of last.

**3)** Circular lists are useful in applications to repeatedly go around the list. For example, when multiple applications are running on a PC, it is common for the operating system to put the running applications on a list and then to cycle through them, giving each of them a slice of time to execute, and then making them wait while the CPU is given to another application. It is convenient for the operating system to use a circular list so that when it reaches the end of the list it can cycle around to the front of the list.

**4)** Circular Doubly Linked Lists are used for implementation of advanced data structures like Fibonacci Heap.

**Next Posts : **

**Circular Linked List | Set 2 (Traversal)**

**Circular Singly Linked List | Insertion**

Please write comments if you find any bug in above code/algorithm, or find other ways to solve the same problem

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

## Recommended Posts:

- Doubly Circular Linked List | Set 1 (Introduction and Insertion)
- Circular Queue | Set 2 (Circular Linked List Implementation)
- Convert singly linked list into circular linked list
- Applications of linked list data structure
- Check if a linked list is Circular Linked List
- Deletion from a Circular Linked List
- Circular Linked List | Set 2 (Traversal)
- Reverse a circular linked list
- Sum of the nodes of a Circular Linked List
- Sorted insert for circular linked list
- Deletion at different positions in a Circular Linked List
- Delete all the even nodes of a Circular Linked List
- Doubly Circular Linked List | Set 2 (Deletion)
- Circular Singly Linked List | Insertion
- Josephus Circle using circular linked list