m0_51376670 2020-10-18 08:21 采纳率: 0%
浏览 31

二叉树的创建与遍历,求大佬指点

#include
#include
#include

struct BiTNode//二叉树结点
{
char data;//定义结点
struct BiTNode*lchild;
struct BiTNode*rchild;//定义左右子树指针
}BiTNode,*bitree;
void CreatBinTree(Bitree t) //按先序序列创建二叉树
{
struct BiTNode*t;
char ch;
scanf("%c",&ch);//按先序次序输入二叉树中的结点的值(字符),‘*’表示空树
ch=getchar();
if(ch=='*')//截至符号为*
{
t==NULL;
}
else
{
t=(struct BiTNode*)malloc(sizeof(struct BiTNode));
t->data=ch;
printf("\n 建立左子树\n");
t->lchild=NULL;
t->rchild=NULL;
CreatBinTree( &((*t)->lchild));
printf("\n 建立右子树\n");
CreatBinTree( &((*t)->rchild));
return t;
}
void PreOrder(struct BiTNode *t)
{
if(t!=NULL)
{
printf("%c",t->data);
PreOrder(t->lchild);
PreOrder(t->rchild);
}
}
void MidOrder(struct BiTNode *t)
{
if(t!=NULL)
{
MidOrder(t->lchild);
printf("%c",t->data);
MidOrder(t->rchild);
}
}
void PostOrder(struct BiTNode *t)
{
if(t!=NULL)
{
PostOrder(t->lchild);
PostOrder(t->rchild);
printf("%c",t->data);
}
}
int main()
{
BiTNode Tree;
Create_BinTNode(&Tree);
printf("\n先序遍历\n");
PreOrder_Traverase(Tree);
printf("\n中序遍历\n");
MidOrder_Traverase(Tree);
printf("\n后序遍历\n");
PostOrder_Traverase(Tree);

return 0;

}

  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 15:34
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功