两个队列实现栈的功能(先进后出)

Posted 孙小龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个队列实现栈的功能(先进后出)相关的知识,希望对你有一定的参考价值。

# coding:utf8
class Queue():
    def __init__(self):
        self.items = []

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

    def isEmpty(self):
        return len(self.items) == 0

    def size(self):
        return len(self.items)


if __name__ == "__main__":
    alist = [1, 2, 3, 4, 5]
    q1 = Queue()
    q2 = Queue()
    for i in alist:
        q1.enqueue(i)
    while q1.size() > 0:
        while q1.size() > 1:
            q2.enqueue(q1.dequeue())
        print(q1.dequeue())
        q1, q2 = q2, q1

#输出结果

#5
#4
#3
#2
#1

 

以上是关于两个队列实现栈的功能(先进后出)的主要内容,如果未能解决你的问题,请参考以下文章

栈和队列

剑指Offer07-两个栈实现队列

栈、队列中“先进先出”,“后进先出”的含义

用两个栈实现队列 (剑指offer第7题)

由两个栈组成的队列

005 两个栈组成队列