二叉树的先中后序遍历及递归代码

5.3.1 二叉树的先中后序遍历

遍历:按照某种次序把所有的结点都访问一遍

1781596154117

1781596211403

1781596364939

1781596551028

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

1781596755525

1781597165459

#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);
	}
}

1781597213021

#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);
	}
}

1781597277467

#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);
	}
}

1781598705402

1781598728506

1781598771857

1781598816049

1781598848529

1781598855144

1781598906011

1781598927784

1781598936777

posted @ 2026-06-16 16:39  轻狂书生han  阅读(5)  评论(0)    收藏  举报