class _PriorityQEntry:
    def __init__(self, item, priority):
        self.item = item
        self.priority = priority

class PriorityQueue:
    
    def __init__(self):
        self._qList = list()

    def isEmpty(self):
        return len(self) == 0

    def __len__(self):
        return len(self._qlist)

    def enqueue(self, item, priority):
        entry = _PriorityQEntry(item, priority)
        self._qList.append(entry)

    def dequeue(self):
        assert not self.isEmpty(), "Cannot dequeue from an empty queue"
        highest = self._qList[0].priority
        for i in range(self.len()):
            if self._qList[i] < highest:
                highest = self._qList[i].priority
        entry = self._qList.pop(i)
        return entry.item

 

相关文章:

  • 2022-12-23
  • 2021-05-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2022-02-02
猜你喜欢
  • 2022-01-11
  • 2021-08-26
  • 2022-01-02
  • 2021-10-30
  • 2021-11-24
  • 2022-02-04
相关资源
相似解决方案