赞
踩
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
typedef struct node //树结构体
{
char data;
struct node *lchild,*rchild;
}treenode,*stree;
stree creat_tree(void) //创建树
{
char ch;
stree p;
// printf("input ");
scanf("%c",&ch);
if(ch=='#')
{
return NULL;
}
else{
p = (stree)malloc(sizeof(treenode));
if(p == NULL)
{
printf("malloc faile!!!/n");
exit(1);
}
p->data = ch;
p->lchild = creat_tree();
p->rchild = creat_tree();
}
return p;
}
void preoread(stree p) //前序遍历函数
{
if(p == NULL)
{
// printf("error/n");
return;
}
printf("%c",p->data);
preoread(p->lchild);
preoread(p->rchild);
// return 0;
}
void inoread(stree p) //中序遍历函数
{
if(p == NULL)
{
return;
}
inoread(p->lchild);
printf("%c",p->data);
inoread(p->rchild);
}
void postoread(stree p) //后序遍历函数
{
if(p == NULL)
{
return;
}
postoread(p->lchild);
postoread(p->rchild);
printf("%c",p->data);
}
int main(void)
{
stree t;
printf("input: /n");
t = creat_tree();
printf("前序:");
preoread(t);
printf("/n中序:");
inoread(t);
printf("/n后序:");
postoread(t);
printf("/n");
return 0;
}
/*************************************
*************************************
测试数据:
AB#D##CE###
*************************************
*************************************
*************************************/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。