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:
break
Program 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")