前序遍历
//前序遍歷,也叫先序遍歷或者深度優先遍歷
void PreOrder(BiTree p) {
if (p!=NULL) {
printf("%c", p->c);//打印當前結點
PreOrder(p->lchild);//打印左子樹
PreOrder(p->rchild);//打印右子樹
}
}
中序遍历
//中序遍歷
void InOrder(BiTree p){
if(p!=NULL){
InOrder(p->lchild);//打印左子樹
printf("%c", p->c);//打印當前結點
InOrder(p->rchild);//打印右子樹
}
}
后序遍历
//後序遍歷
void PostOrder(BiTree p){
if(p!=NULL){
PostOrder(p->rchild);//打印右子樹
PostOrder(p->lchild);//打印左子樹
printf("%c", p->c);//打印當前結點
}
}