class Two_stacks(object):
def __init__(self):
self._oneli=[]
self._twoli=[]
def entrance(self,item):
"""栈结构模拟进入队列"""
self._oneli.append(item)
def popup(self):
"""栈结构模拟弹出队列"""
if self._twoli:
# 如果第二个栈结构存在值就直接弹出
return self._twoli.pop()
else:
# 如果不存在,将第一个栈循环从队尾弹出进入第二个栈的栈底
if self._oneli:
while self._oneli:
self._twoli.append(self._oneli.pop())
return self._twoli.pop()
else:
# 如果第一个栈内不存在值,直接返回空
return None
if __name__ == '__main__':
queue=Two_stacks()
queue.entrance(1)
queue.entrance(2)
queue.entrance(3)
queue.entrance(4)
queue.entrance(5)
print(queue.popup())
print(queue.popup())
print(queue.popup())
print(queue.popup())
print(queue.popup())