zoukankan      html  css  js  c++  java
  • 两队列模拟一个栈,python实现

    python实现两个队列模拟一个栈:

    class Queue(object):
        def __init__(self):
            self.stack1=[]
            self.stack2=[]
    
        def enqueue(self, item):
            if len(self.stack1) == 0:
                self.stack1.append(item)
            elif len(self.stack2) == 0:
                self.stack2.append(item)
            if len(self.stack2)==1 and len(self.stack2) >= 1:
                while len(self.stack1)>0:
                    self.stack2.append(self.stack1.pop(0))
            elif len(self.stack1)==1 and len(self.stack2) >= 1:
                while len(self.stack2)>0:
                    self.stack1.append(self.stack2.pop(0))
    
        def dequeue(self):
            if self.stack1:
                return self.stack1.pop(0)
            elif self.stack2:
                return self.stack2.pop(0)
            else:
                return None
    
    q = Queue()
    q.enqueue(3)
    # print(q.dequeue())
    q.enqueue(4)
    q.enqueue(5)
    q.enqueue(6)
    print(q.dequeue())
    print(q.dequeue())
    print(q.dequeue())
    print(q.dequeue())
  • 相关阅读:
    SDOI2017 树点染色
    ZROI week1
    ZROI week3
    BZOJ 4545
    ZROI week2
    组合数问题
    JSOI2016 独特的树叶
    TJOI2015 组合数学
    Beginning Storyboards in iOS 5 Part 2
    孕妇不能吃的东东
  • 原文地址:https://www.cnblogs.com/zhangshuyang/p/8094597.html
Copyright © 2011-2022 走看看