归栈非递归实现汉诺塔
时间: 2023-12-27 10:04:00 浏览: 89
汉诺塔非递归实现
5星 · 资源好评率100%
好的,以下是归栈非递归实现汉诺塔的代码:
```python
def hanoi(n, A, B, C):
stack = []
while True:
while n > 0:
stack.append((n, A, B, C))
n -= 1
A, B, C = A, C, B
if not stack:
break
n, A, B, C = stack.pop()
print(f"Move disk {n} from {A} to {C}")
n -= 1
A, B, C = A, C, B
```
其中,n 表示汉诺塔的层数,A、B、C 分别表示三个柱子的名称。
阅读全文