#File Name : 队列实现栈.py
class TwoQueueStack(object):
def __init__(self):
self.DataQueue = []
self.HelpQueue = []
def push(self,item):
self.DataQueue.append(item)
return self.DataQueue
def pop(self):
if len(self.DataQueue)<1:
raise Exception('empty!!!!!')
while len(self.DataQueue)>1:
self.HelpQueue.append(self.DataQueue.pop(0))
res = self.DataQueue.pop()
self.__swap()
return res
def peek(self):
if len(self.DataQueue)<1:
raise Exception('empty!!!!!')
while len(self.DataQueue)>1:
self.HelpQueue.append(self.DataQueue.pop(0))
res = self.DataQueue.pop()
self.HelpQueue.append(res)
self.__swap()
return res
def __swap(self):
self.DataQueue ,self.HelpQueue = self.HelpQueue,self.DataQueue
if __name__ == '__main__':
a = TwoQueueStack()
a.push(1)
a.push(2)
a.push(3)
a.push(4)
a.push(5)
b = a.push(6)
print(b)
c = a.pop()
print(c)
d = a.pop()
print(d)