# @File: queue
from collections import deque # 双端队列
# from queue import Queue # Queue的实现就是基于deque的
q = deque()
q.append(1)
q.append(2)
q.append(3)
print(q.popleft())
print(q)
q.appendleft(10)
print(q)
q.pop()
print(q)
# 用两个栈实现队列
class Queue(object):
def __init__(self):
self.stack1 = []
self.stack2 = []
def push(self, item):
self.stack1.append(item)
def pop(self):
if len(self.stack2) == 0:
while len(self.stack1) > 0:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
# 小栗子
q = deque([1, 2, 3, 4, 5], 3)
print(q) # 返回的是最后三个的数据
# linux中的tail功能,就是通过队列的这个性质来的