所以我得到了这个问题。考虑具有标准操作集的 Stack 和 Queue 类。使用 Stack 和 Queue 类,在调用 mysteryFunction 之前和调用 mysteryFunction 之后,它们中包含哪些项目?
这是代码:
def mysteryFunction(s, q):
q.enqueue('csc148')
q.enqueue(True)
q.enqueue(q.front())
q.enqueue('abstract data type')
for i in range(q.size()):
s.push(q.dequeue())
while not s.is_empty():
q.enqueue(s.pop())
if __name__ == '__main__':
s=Stack()
q=Queue()
#About to call mysteryFunction
#What are contents of s and q at this point?
mysteryFunction(s, q)
#mysteryFunction has been called.
#What are contents of s and q at this point?
由于我是这个主题的新手,所以我无法理解面向对象的编程。是否有任何链接可以分解堆栈和队列以及它们的作用?
原文由 ZeroKEz 发布,翻译遵循 CC BY-SA 4.0 许可协议
一般来说,栈是后进先出,队列是先进先出。
在 Python 中,您可以使用 collections 模块来试验堆栈和队列: