Queue using Linked List in DSA Python
by DataFlair Team
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
Tags: dsa pythondsa python practicaldsa python programdsa python program on queue using linked listdsa python queue using linked listqueue using linked listqueue using linked list in dsa pythonqueue using linked list in python
DataFlair Team
DataFlair Team provides high-impact content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. We make complex concepts easy to grasp, helping learners of all levels succeed in their tech careers.