栈和队列的特性:
栈:先进后出
队列:先进先出
用两个队列实现一个栈:
class Stack(): def __init__(self): self.queue1=[] self.queue2=[] def push(self,element): self.queue1.append(element) def pop(self): if len(self.queue2)==0: while len(self.queue1)!=0: self.queue2.append(self.queue1.pop(0))##放进队列的第一个值进去 return self.queue2.pop(0)
用两个堆栈来实现队列:
class Queue(): def __init__(self): self.stack1=[] self.stack2=[] def push(self,element): self.stack1.append(element) def pop(self): if len(self.stack2)==0: self.stack2.append(self.stack2.pop())##放进最后一个值进去 return self.stack2.pop()
原文:https://www.cnblogs.com/yunxintryyoubest/p/10417864.html