OneCompiler

PriorityQueue

class PriorityQueue:
def init(self):
self.elements = []

def is_empty(self):
    return len(self.elements) == 0

def put(self, item, priority):
    self.elements.append((priority, item))
    self.elements.sort()  # Sort the list by priority

def get(self):
    return self.elements.pop(0)[1]  
def peek(self):
    return self.elements[0][1] if self.elements else None

Example usage

if name == "main":
pq = PriorityQueue()
pq.put("task1", 2)
pq.put("task2", 1)
pq.put("task3", 3)

while not pq.is_empty():
    print(pq.get())