永发信息网

树的中序和先序的递归

答案:2  悬赏:0  手机版
解决时间 2021-04-23 09:59
  • 提问者网友:杀生予夺
  • 2021-04-22 12:21

#include<stdio.h>
#include<malloc.h>
typedef struct BitNode{
char data;
struct BitNode *lchild,*rchild;
}BitNode,*Bintree;
void creattree(Bintree &T)
{
char ch;
scanf("%c",&ch);
if(ch=' ')T=NULL;
else
{
T=(Bintree)malloc(sizeof(BitNode));
T->data=ch;
creattree(T->lchild);
creattree(T->rchild);
}
}
void preorder(Bintree b)
{
if(b!=NULL)
{
printf("%c",b->data);
preorder(b->lchild);
preorder(b->rchild);
}

}
void inorder(Bintree b)
{
if(b!=NULL)
{
inorder(b->lchild);
printf("%c",b->data);
inorder(b->rchild);
}

}
void postorder(Bintree b)
{
if(b!=NULL)
{
postorder(b->lchild);
postorder(b->rchild);
printf("%c",b->data);
}

}
void main()
{
Bintree T;
printf("请输入字符构建一棵树:");
creattree(T);
printf("请按照递归先序遍历输出:\n");
preorder(T);
printf("请按照递归中序遍历输出:\n");
inorder(T);
printf("请按照递归后序遍历输出:\n");
postorder(T);
}

看看哪里出错啦,很简单的

最佳答案
  • 五星知识达人网友:duile
  • 2021-04-22 14:00
你先说说怎么不对吧
全部回答
  • 1楼网友:渡鹤影
  • 2021-04-22 14:58

建树那有问题,不知道你建一棵树的具体要求,没法帮你改。

你的程序就是先不断建左子树,遇到' '之后建右子树,每层都是这样。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯