#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int i;
char s[60];
typedef struct BiTNode{
char data;
BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
BiTNode *createtree(BiTree &T)
{
char ch = s[i++];
if(ch == ',')
T = NULL;
else
{
T = new BiTNode;
T->data = ch;
T->lchild = createtree(T->lchild);
T->rchild = createtree(T->rchild);
}
return T;
}
void f(BiTree T)
{
int i = 0, j = 0;
BiTNode *t[100];
t[i++] = T;
while(i > j)
{
if(t[j])
{
printf("%c",t[j]->data);
t[i++] = t[j]->lchild;
t[i++] = t[j]->rchild;
}
j++;
}
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
i = 0;
BiTNode *T;
scanf("%s",s);
T = createtree(T);
f(T);
printf("\n");
}
return 0;
}
数据结构实验之二叉树五:层序遍历
最新推荐文章于 2022-08-15 12:50:35 发布