Site icon DataFlair

Queue using Linked List in DSA Python

Program 1

# Queue Linked list
import os
class Node:
    def __init__(self):
        self.data=None
        self.add=None

class QueueLinkedList:
    def __init__(self):
        self.start=None

    def create(self):
        n=int(input("Enter First element: "))    
        self.start=Node()
        self.start.data=n
        self.start.add=None
        self.temp=self.start
        ch=input("Wan to continue(Y/y): ")
        while(ch=='y' or ch=='Y'):
            n=int(input("Enter next element: "))    
            newnode=Node()
            newnode.data=n   # assign data to new node
            newnode.add=None # assign address to new node
            self.temp.add=newnode 
            self.temp=self.temp.add
            ch=input("Wan to continue(Y/y): ")

    def insertData(self):
         if(self.start==None):
            print("Queue is empty")
         else:
             n=int(input("Enter an element for insert: "))
             newnode=Node()
             newnode.data=n
             newnode.add=None
             rear=self.start
             while(rear.add!=None):
                 rear=rear.add
             rear.add=newnode

         
    def deleteData(self):
        if(self.start==None):
            print("Queue is empty")
        else:
            front=self.start
            self.start=self.start.add
            print("Deleted element is : ",front.data)
            front.add=None
            front=None

    def display(self):
         if(self.start==None):
            print("Queue is empty")
         else:
             print("Elements of Queue: ")            
             temp=self.start
             while(temp!=None):
                 print(temp.data)
                 temp=temp.add

# Main
os.system('cls')
q=QueueLinkedList()
while(1):
    print("\n-----------------------Queue Menu------------------------")
    print("1. Create \n 2. Insert \n 3. Delete \n 4. Display \n 5. Exit")
    print("-------------------------------------------------------------")
    choice=int(input("Enter your choice: "))
    if(choice==1):
       q.create()
    elif(choice==2):        
       q.insertData()
    elif(choice==3):
       q.deleteData()
    elif(choice==4):
       q.display()   
    else:
        break

 

Exit mobile version