队列
说明
创建空队列
判断是否为空
加队
出队
查看最早进队的元素
class Queue:
def __init__(self):
self.item = []
def is_empty(self):
return self.item == []
def push(self,elem):
self.item.append(elem)
def pop(self):
self.item.pop(0)
def peek(self):
return self.item[0]
当然,导包更便捷
from queue import Queue
q = Queue.Queue()
q.push()
q.get()
python 中四种队列
Queue:先进先出
LifioQueue:后进先出
PriorityQueue:优先队列
deque:双边队列
from queue import Queue
q = Queue(maxsize=0)
q.put(0)
q.put(1)
q.put(2)
print(q.queue)
q.get()
print(q.queue)
from queue import LifoQueue
lq = LifoQueue(maxsize=0)
lq.put(0)
lq.put(1)
lq.put(2)
print(lq.queue)
lq.get()
print(lq.queue)
优先队列中数字越小,级别越高,越先取出,不管是元组还是列表
from queue import PriorityQueue
pq = PriorityQueue(maxsize=0)
pq.put((3,'a'))
pq.put((2,'c'))
pq.put((1,'d'))
print(pq.queue)
pq.get()
pq.get()
print(pq.queue)
pq = PriorityQueue(maxsize=0)
pq.put(1)
pq.put(2)
pq.put(3)
print(pq.queue)
pq.get()
pq.get()
print(pq.queue)
import collections
dq = collections.deque(['a','b'])
dq.append('c')
dq.appendleft('d')
print(dq)
print(dq.pop())
print(dq.popleft())