二叉树的先中后序遍历及递归代码
5.3.1 二叉树的先中后序遍历
遍历:按照某种次序把所有的结点都访问一遍




啊锁小窍门,从根开始往后画包围整个树,先根就是第一个画到的,中根就是第二个画到的,后根就是第三个画到的。


#include<stdio.h>
typedef struct BiTNode{
ElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void PreOrder(BiTree T){
if(T!=NULL){
visit(T);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
}
#可运行
struct ElemType{int value;};
#include<stdio.h>
typedef struct BiTNode{
ElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void visit(BiTree T){
printf("%d ", T->data.value);
}
void PreOrder(BiTree T){
if(T!=NULL){
visit(T);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
}

#include<stdio.h>
typedef struct BiTNode{
ElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void InOrder(BiTree T){
if(T!=NULL){
InOrder(T->lchild);
visit(T);
InOrder(T->rchild);
}
}

#include<stdio.h>
typedef struct BiTNode{
ElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void PostOrder(BiTree T){
if(T!=NULL){
PostOrder(T->lchild);
PostOrder(T->rchild);
visit(T);
}
}










浙公网安备 33010602011771号