Python Program to insert a new node at the beginning of the Circular Linked List

Here in this Python Program, you will learn how you can insert a new node at the beginning of the Circular Linked List.

0
47
insert a new node at the beginning of the Circular Linked List

Here in this Python Program, you will learn how you can insert a new node at the beginning of the Circular Linked List.

Here we will create a circular link list and insert every new node at the beginning of the Link List. If the list is not empty then it’ll store the data of head in the temporary node temp and make new node as the head.

This newly created head will point to the temporary node.

Program to insert a new node at the beginning of the Circular Linked List
 class Node:    
  def __init__(self,data):    
    self.data = data;    
    self.next = None;    
     
class CreateList:    
  #Declaring head and tail pointer as null.    
  def __init__(self):    
    self.head = Node(None);    
    self.tail = Node(None);    
    self.head.next = self.tail;    
    self.tail.next = self.head;    
        
  #This function will add on the to or at the start of the list.    
  def addAtStart(self,data):    
    newNode = Node(data);    
    #Checks if the list is empty.    
    if self.head.data is None:    
      #If list is empty, both head and tail would point to new node.    
      self.head = newNode;    
      self.tail = newNode;    
      newNode.next = self.head;    
    else:    
        #Store data into temporary node    
        temp = self.head;    
        #New node will point to temp as next node    
        newNode.next = temp;    
        #New node will be the head node    
        self.head = newNode;    
        #Since, it is circular linked list tail will point to head.    
        self.tail.next = self.head;    
     
  #Displays all the nodes in the list    
  def display(self):    
    current = self.head;    
    if self.head is None:    
      print("List is empty");    
      return;    
    else:    
        print("Adding nodes to the start of the list: ");    
        #Prints each node by incrementing pointer.    
        print(current.data),    
        while(current.next != self.head):    
            current = current.next;    
            print(current.data),    
        print("\n");    
     
class CircularLinkedList:    
  cl = CreateList();    
      
  #Adding 1 to the list    
  cl.addAtStart(1);    
  cl.display();    
  #Adding 2 to the list    
  cl.addAtStart(2);    
  cl.display();    
  #Adding 3 to the list    
  cl.addAtStart(3);    
  cl.display();    
  #Adding 4 to the list    
  cl.addAtStart(4);    
  cl.display();

Output

Adding nodes to the start of the list: 
1
Adding nodes to the start of the list: 
2 1
Adding nodes to the start of the list: 
3 2 1
Adding nodes to the start of the list: 
4 3 2 1

Related Program

  1. Python Program to Find LCM
  2. Python Program to Find HCF or GCD
  3. Python Program To Display Powers of 2 Using Anonymous Function
  4. Python Program to Display Calendar
  5. Python Program to find the Square Roots
  6. Python Program to Shuffle Deck of Cards
  7. Python Program to delete a new node from the middle of the doubly linked list.
  8. Python program convert decimal number to binary number using recursion
  9. Python Program to Find Factorial of a Number Using Recursion
  10. Python Program to Check if a Number is Positive, Negative or 0
  11. Python Program to Generate a Random Alphanumeric String

Ask your questions and clarify your/others doubts on how you can delete the node from middle of the doubly linked list by commenting. Python Documentation