How to Convert singly linked list into circular linked list in Python
In this tutorial, we shall convert a singly linked list into circular linked list in Python. A Linked List is a linear data structure where the elements are linked using pointers. A circular Linked List is obtained from a singly linked list as follows.
Algorithm
- Enter Elements into an empty linked list using the push function.
- To convert a linked list into a circular linked list, traverse through the linked list to find the last node.
- Last Node is the node that has NULL as its next node.
- Make the last node point to the starting node (last.next=start)
- Display the circular linked list.
Python program to convert the singly linked list into circular linked list
Below is our Python code:
class Node:
def __init__(self,data):
self.data = data
self.next = None
def push(head, data):
if not head:
return Node(data)
# Assign the data into newNode.
newNode = Node(data)
newNode.next = head
head = newNode
return head
def circular(head):
start = head
while(head.next is not None):
head = head.next #to reach end of the list
head.next = start #Link the end of linked list to start
return start
def displayList(node):
start = node
while(node.next is not start):
print("{} ".format(node.data),end="")
node=node.next
# Display the last node of circular linked list.
print("{} ".format(node.data),end="")
# Driver Code
if __name__=='__main__':
# Start with empty list
head = None
# Linked List 12 23 34 41 69
head = push(head, 69)
head = push(head, 41)
head = push(head, 34)
head = push(head, 23)
head = push(head, 12)
circular(head)
print("Display List:")
displayList(head)After running the above program we can see the output result:
Display List: 12 23 34 41 69
Also Read Related topics to Linked Lists:
- Python program for finding the Middle element of Linked List
- Python program to apply Merge Sort for Doubly Linked List
Thank You for reading and Keep Learning 🙂
Leave a Reply