Priority Queue in DSA Python
by DataFlair Team
Program 1
# Implementation of Priority Queue using Module Min Heap
import queue
import os
class MyPQueue:
def __init__(self):
self.pq=queue.PriorityQueue()
def insert(self):
n=int(input("Enter an element: "))
self.pq.put(n)
def delete(self):
if(self.pq.empty()):
print("Priorty queue is empty")
else:
print("Deleted element is: ",self.pq.get())
def display(self):
if(self.pq.empty()):
print("Priorty queue is empty")
else:
print("Elements of Priorit Queue: ")
print(sorted(self.pq.queue))
# Main
os.system('cls')
mpq=MyPQueue()
while(1):
print("-----------------------------Priority Queue--------------------------")
print("1. Insert \n 2. Delete \n 3 Display \n 4. Exit")
print("-----------------------------------------------------------------------")
choice=int(input("Enter your choice: "))
if(choice==1):
mpq.insert()
elif(choice==2):
mpq.delete()
elif(choice==3):
mpq.display()
else:
breakProgram 2
# Implementation of Priority Queue using Module Max Heap
import queue
pq = queue.PriorityQueue()
def qinsert():
n = int(input("Enter element for insert: "))
pq.put(-n) # Store negative for max-heap
def qdelete():
if pq.empty():
print("Priority Queue is empty")
else:
print("Deleted element is:", -pq.get()) # Convert back to positive
def qdisplay():
if pq.empty():
print("Priority Queue is empty")
else:
print("Priority Queue (sorted by largest first):", sorted([-x for x in pq.queue], reverse=True))
while True:
print("\n--- Priority Queue Menu (Max-Heap) ---")
print("1. Insert\n2. Delete\n3. Display\n4. Exit")
choice = int(input("Enter your choice: "))
if choice == 1:
qinsert()
elif choice == 2:
qdelete()
elif choice == 3:
qdisplay()
elif choice == 4:
break
else:
print("Invalid choice")
Tags: dsa pythondsa python practicaldsa python priority queuedsa python programdsa python program on priority queuepriority queuepriority queue in data structurespriority queue in dsa pythonpriority queue 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.