0% found this document useful (0 votes)
2 views5 pages

Circular Linked List

A circular linked list is a type of linked list where all nodes are connected in a circle, with no NULL at the end. It can be either singly or doubly linked, with operations including insertion, deletion, and display. The document outlines the steps for inserting a node at the end and deleting a specific node from the list.

Uploaded by

Prajwal Narute
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views5 pages

Circular Linked List

A circular linked list is a type of linked list where all nodes are connected in a circle, with no NULL at the end. It can be either singly or doubly linked, with operations including insertion, deletion, and display. The document outlines the steps for inserting a node at the end and deleting a specific node from the list.

Uploaded by

Prajwal Narute
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Circular Linked List

Circular Linked List:

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 circular singly linked list or
circular doubly linked list.

Circular Singly Linked List:

A circular Singly linked list is a sequence of elements in which


every element has a link to its next element in the sequence and
the last element has a link to the first element.

That means circular singly linked list is similar to the single linked list
except that the last node points to the first node in the list

Example

Operations:

In a circular linked list, we perform the following operations...


1. Insertion
2. Deletion
3. Display

Inserting At End of the list

We can use the following steps to insert a new node at end of the circular linked
list...
 Step 1 - Create a newNode with given value.

www.vectorindia.org 1
Circular Linked List

 Step 2 - Check whether list is Empty (head == NULL).


 Step 3 - If it is Empty then, set head = newNode and newNode → next =
head.
 Step 4 - If it is Not Empty then, define a node pointer temp and initialize
with head.
 Step 5 - Keep moving the temp to its next node until it reaches to the last
node in the list (until temp → next == head).
 Step 6 - Set temp → next = newNode and newNode → next = head.

Deleting a Specific Node from the list

We can use the following steps to delete a specific node from the circular linked
list...
 Step 1 - Check whether list is Empty (head == NULL)
 Step 2 - If it is Empty then, display 'List is Empty!!! Deletion is not
possible' and terminate the function.
 Step 3 - If it is Not Empty then, define two Node pointers 'temp1' and
'temp2' and initialize 'temp1' with head.
 Step 4 - Keep moving the temp1 until it reaches to the exact node to be
deleted or to the last node. And every time set 'temp2 = temp1' before
moving the 'temp1' to its next node.
 Step 5 - If it is reached to the last node then display 'Given node not found
in the list! Deletion not possible!!!'. And terminate the function.

www.vectorindia.org 2
Circular Linked List

 Step 6 - If it is reached to the exact node which we want to delete, then check
whether list is having only one node (temp1 → next == head)
 Step 7 - If list has only one node and that is the node to be deleted then set
head = NULL and delete temp1 (free(temp1)).
 Step 8 - If list contains multiple nodes then check whether temp1 is the first
node in the list (temp1 == head).
 Step 9 - If temp1 is the first node then set temp2 = head and keep moving
temp2 to its next node until temp2 reaches to the last node. Then set head
= head → next, temp2 → next = head and delete temp1.
 Step 10 - If temp1 is not first node then check whether it is last node in the
list (temp1 → next == head).
 Step 1 1- If temp1 is not first node then set temp2 → next = temp1 → next
and delete temp1 (free(temp1)).

Example:

Data matched with First Node:

www.vectorindia.org 3
Circular Linked List

Data matched with Last node:

www.vectorindia.org 4
Circular Linked List

Data matched with other than first and last node:

Note :

Reference Books : Taken contents and diagrams from various websites.

www.vectorindia.org 5

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy