这个好像是一个面试题 今天在一个聊天群看到了 所以感兴趣就试着写了一下
# 实现一个队列
class Queue():
def __init__(self):
self.item=[]
# 队列的存入
def equeue(self,item):
self.item.insert(0,item)
# 队列的取值
def dequeue(self):
return self.item.pop()
def size(self):
return len(self.item)
# 先实例化两个队列
Q1 = Queue()
Q2 = Queue()
# 向队列Q1中插入测试数据
test_data=["A","B","C","D","E","F","G","H"]
for data in test_data:
Q1.equeue(data)
def func(Q1,Q2):
# 取多少次不知道对吧
count = Q1.size()
for i in range(count-1):
Q2.equeue(Q1.dequeue())
print(Q1.dequeue()) # Q1 中留下的最后一个就是要取的那个
if Q2.size()==1: # 递归的结束条件
print(Q2.dequeue())
return
func(Q2,Q1) # Q1 与Q2颠倒
func(Q1,Q2)

利用递归实现 两个队列实现一个栈的教程 写的超级详细小白都能看懂!
原文:https://www.cnblogs.com/well-666/p/11900693.html