二叉树的非递归遍历算法的简单使用
1.非递归的前序遍历
void inorderTravse(BiTree root) { Stack s = CreateStack(); BiTree T = root; while (T || !isEmpty(s)) { while (T) { printf("%d", T->data); push(s, T); T = T->lchild; } if (!isEmpty(s)) { T = pop(s); T = T->rchild; } } }
2.非递归的中序遍历
void inorderTravse(BiTree root) { Stack s = CreateStack(); BiTree T = root; while (T || !isEmpty(s)) { while (T) { push(s, T); T = T->lchild; } if (!isEmpty(s)) { T = pop(s); printf("%d", T->data); T = T->rchild; } } }
好了,我们下回见,peace

浙公网安备 33010602011771号