数据结构实验之二叉树二:遍历二叉树
2016-08-12 14:45
489 查看
题目描述
已知二叉树的一个按先序遍历输入的字符序列,如abc,,de,g,,f,,, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。输入
连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。输出
每组输入数据对应输出2行:第1行输出中序遍历序列;
第2行输出后序遍历序列。
示例输入
abc,,de,g,,f,,,
示例输出
cbegdfacgefdba
#include <stdio.h>
#include <stdlib.h>
char st[55];
int i;
typedef struct node
{
int data;
struct node *lc;
struct node *rc;
}*BiTree;
BiTree creat()
{
char c;
BiTree T;
c = st[i++];
if(c==',')
T = NULL;
else
{
T = (BiTree)malloc(sizeof(BiTree));
T->data = c;
T->lc = creat();
T->rc = creat();
}
return T;
}
void visit(char c)
{
if(c)
printf("%c",c);
}
void Intrav(BiTree T)
{
if(T)
{
Intrav(T->lc);
visit(T->data);
Intrav(T->rc);
}
}
void Postrav(BiTree T)
{
if(T)
{
Postrav(T->lc);
Postrav(T->rc);
visit(T->data);
}
}
int main()
{
BiTree T;
while(scanf("%s",st)!=EOF)
{
i = 0;
T = creat();
Intrav(T);
printf("\n");
Postrav(T);
printf("\n");
}
return 0;
}
相关文章推荐
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- SDUT-数据结构实验之二叉树二:遍历二叉树
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- SDUTACM 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树