队列,堆栈 Python

0 投票
1 回答
761 浏览
提问于 2025-04-17 22:28

你需要写一个叫做 Queue 的 Python 类。这个类会有两个部分,分别叫做 stack1 和 stack2。你还需要写一个叫做 mkQueue 的函数,这个函数不需要任何参数,它的作用是把这两个部分都初始化为一个空的栈。

所以,我现在有这个代码,但我不太确定是要把参数留空,还是要在里面放入栈的内容?

class Queue():
    __slots__ = ('stack1', 'stack2')

def mkQueue(stack1, stack2):
    Queue.stack1 = stack1
    Queue.stack2 = stack2
    return Queue

1 个回答

0

这是一个朝着正确方向迈出的一步,里面有一些评论,符合你作业的要求。虽然这可能不是你需要的完整实现,但它应该能帮助你入门。

class Queue():
    __slots__ = ('stack1', 'stack2')

    def __init__(self): # You need to define an initialize method
        self.stack1 = []
        self.stack2 = []    

    # staticmethods are the only kinds of class methods that take no arguments
    @staticmethod  
    def mkQueue(): 
        return Queue()

使用方法:

>>> foo = Queue.mkQueue()
>>> foo.stack1
[]
>>> foo.stack2
[]
>>> foo.stack1 is foo.stack2
False

撰写回答