#include<stdio.h>
#include<malloc.h>
#define LEN sizeof(struct node)
typedef struct node{
int data ;
struct node *lc,*rc ;
}TNode,*BiTree ;
void creat(BiTree &T)
{
int c ;
if((c = getchar()) == '#')
T = NULL ;
else{
T = (BiTree)malloc(LEN) ;
T -> data = c ;
creat(T -> lc) ;
creat(T -> rc) ;
}
}
void PreOder(BiTree T)
{
if(T){
putchar(T -> data) ;
PreOder(T -> lc) ;
PreOder(T -> rc) ;
}
}
void InOrder(BiTree T)
{
if(T){
InOrder(T -> lc) ;
putchar(T -> data) ;
InOrder(T -> rc) ;
}
}
void PoOrder(BiTree T)
{
if(T){
PoOrder(T -> lc) ;
PoOrder(T -> rc) ;
putchar(T ->data) ;
}
}
main()
{
BiTree T ;
printf("请输入结点,#为空结点\n") ;
creat(T) ;
printf("先序遍历\n") ;
PreOder(T) ;
putchar('\n') ;
printf("中序遍历\n") ;
InOrder(T) ;
putchar('\n') ;
printf("后序遍历\n") ;
PoOrder(T) ;
putchar('\n') ;
}
递归方法创建二叉树,遍历二叉树
最新推荐文章于 2021-05-23 19:44:25 发布