스택 자료 구조와 반복문을 이용한 구현도 전위 순회와 방문 순서만 다를 뿐 나머지 코드는 같습니다.
코드 7-6
def iter_inorder(cur):
s = Stack()
while True:
while cur:
s.push(cur)
cur = cur.left
cur = s.pop()
if not cur:
break
# pop한 후에 방문을 합니다.
print(cur.data, end=' ')
cur = cur.right
코드 7- 6은 반복문으로 중위 순회를 구현한 것입니다. 전위 순회와 다른 점은 방문 순서입니다. 중위 순회에서는 pop을 한 후 방문을 합니다.