A circular singly linked list is a variant of the linked list data structure in which the last node points back to the first node, forming a loop. This Python program demonstrates the implementation and various operations on a circular singly linked list using Python.
Problem statement
You are required to implement a circular singly linked list that supports two primary operations: appending elements to the list and displaying the elements in order. The circular aspect means that the last node’s ‘next’ pointer points back to the first node, forming a continuous loop.
Python Program to Demonstrate Circular Single Linked List
class Node: def __init__(self, data): self.data = data self.next = None class CircularLinkedList: def __init__(self): self.head = None def append(self, data): new_node = Node(data) if not self.head: self.head = new_node new_node.next = self.head else: current = self.head while current.next != self.head: current = current.next current.next = new_node new_node.next = self.head def display(self): if not self.head: print("List is empty") return current = self.head while True: print(current.data, end=" -> ") current = current.next if current == self.head: break print("...") # Input: Creating a circular singly linked list circular_list = CircularLinkedList() elements = [1, 2, 3, 4, 5] for element in elements: circular_list.append(element) print("Circular Linked List:") circular_list.display()