
#include <stdlib.h>
#include <stdio.h>
#include "bitree.h" //请不要删除,否则检查不通过
void pre_order(BiTree root){
Stack S[Stack_Size];
BiTree T=root;
init_stack(S);
while(T||!is_empty(S)){//不是空的 才可以出栈
while(T){
visit_node(T);
push(S,T);
T=T->left;
}
pop(S,&T);
T=T->right;
}
}
这篇博客介绍了如何使用栈实现二叉树的前序遍历。代码中定义了一个`pre_order`函数,利用栈辅助进行非递归遍历,先访问节点,然后将左子节点压栈,最后处理右子节点,确保了前序遍历的顺序。
36万+

被折叠的 条评论
为什么被折叠?



