您的位置:首页 > 其它

二叉树的建立以及先序中序后序递归遍历

2015-08-12 21:02 351 查看
#include <stdlib.h>
#include <stdio.h>
#define ElemType char
typedef struct BiTNode *BiTree;
struct BiTNode{
ElemType data;
BiTree lchild,rchild;
};
BiTree CreateBiTree(){
ElemType ch;
BiTree T;
scanf("%c",&ch);
if(ch=='#')T=NULL;
else{
T = (BiTree)malloc(sizeof *T);
T->data = ch;
T->lchild = CreateBiTree();
T->rchild = CreateBiTree();
}
return T;
}
void PreOrderTraverse(BiTree T){
if(T){
printf("%c",T->data);
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
}

void InOrderTraverse(BiTree T){
if(T){
InOrderTraverse(T->lchild);
printf("%c",T->data);
InOrderTraverse(T->rchild);
}
}
void PostOrderTraverse(BiTree T){
if(T){
PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
printf("%c",T->data);
}
}
main(){
BiTree T;
T = CreateBiTree();
PostOrderTraverse(T);
// EDBA##C###HF#G###
}
</pre><pre name="code" class="objc"><img src="http://img.blog.csdn.net/20150812210227654?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: