❤️ 先序遍历❤️
void PreOrder(BiTree T){
if(T!=null){
visit(T);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
}
❤️ 中序遍历❤️
void PreOrder(BiTree T){
if(T!=null){
PreOrder(T->lchild);
visit(T);
PreOrder(T->rchild);
}
}
❤️ 后序遍历❤️
void PreOrder(BiTree T){
if(T!=null){
PreOrder(T->lchild);
PreOrder(T->rchild);
visit(T);
}
}
❤️ 层序遍历❤️
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
typedef struct LinkNode{
BiTNode *data;
struct LinkNode *next;
}LinkNode;
void LevelOrder(BiTree T){
LinkQueue Q;
InitQueue(Q);
BiTree p;
EnQueue(Q,T);
while (!IsEmpty(Q)){
DeQueue(Q,p);
visit(p);
if(p->lchild!=NULL)
EnQueue(Q,p->lchild);
if (p->rchild!=NULL)
EnQueue(Q,p->rchild);
}
}