python使用Queue实现优先级队列
发布时间:2020-12-17 17:26:50 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import Queueclass PriorityQueue(Queue.Queue): def _put(self,item): data,priority = item self._insort_right((priority,data)) def _get(self):
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 import Queue class PriorityQueue(Queue.Queue): def _put(self,item): data,priority = item self._insort_right((priority,data)) def _get(self): return self.queue.pop(0)[1] def _insort_right(self,x): """Insert item x in list,and keep it sorted assuming a is sorted. If x is already in list,insert it to the right of the rightmost x. """ a = self.queue lo = 0 hi = len(a) while lo < hi: mid = (lo+hi)/2 if x[0] < a[mid][0]: hi = mid else: lo = mid+1 a.insert(lo,x) def test(): pq = PriorityQueue() pq.put(('b',1)) pq.put(('a',1)) pq.put(('c',1)) pq.put(('z',0)) pq.put(('d',2)) while not pq.empty(): print pq.get(),test() # prints z b a c d 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |