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())