我需要为搜索算法创建一个堆栈和一个队列(深度优先/广度优先/最优先)因此我需要创建一个堆栈和一个队列。
如何在python中创建堆栈和队列?
答案 0 :(得分:2)
您可以将列表用作堆栈。可以在here上找到一份好的文档。您的代码可能看起来像这样
>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]
>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]
您可能希望在代码中import queue
进行队列实现
>>> import queue
>>> L = queue.Queue(maxsize=20)
>>> L.put(5)
>>> L.put(9)
>>> L.put(1)
>>> L.put(7)
>>> print(L.get())
5
>>> print(L.get())
9
>>> print(L.get())
1
>>> print(L.get())
7
答案 1 :(得分:1)
您可以使用deque对象,它同时作为两者 - 检查它支持的函数的文档,以及如何将它用作队列或堆栈。
from collections import deque
d = deque()