qq_31750507 2015-12-15 01:08 采纳率: 52.6%
浏览 1469

@数据结构大神:递归遍历二叉树,建立树的代码 为什么错?

 //创建-输入-打印-递归
# include<stdio.h>
# include<stdlib.h>
# include<malloc.h>
typedef struct Node{
 char data;
 struct Node *Lchild;
 struct Node *Rchild;
}BiTNode,*BiTree;

BiTree CreateBiTree(BiTree bt)
{
 char data;int flag=1;

 while(flag)
 {
 scanf("%c",&data);

 if(data!='$')
 {   
     bt=(BiTNode *)malloc(sizeof(BiTNode));
     bt->data=data;
        bt-Rchild=(BiTNode *)malloc(sizeof(bt-Rchild));
     bt->Rchild=CreateBiTree(bt->Rchild); //为啥建立完右孩子之后就return了呢? 
        bt-Lchild=(BiTNode *)malloc(sizeof(bt-Lchild));
     bt->Lchild=CreateBiTree(bt->Lchild);//为啥return后才建立左孩子呢? 
 }
 else {flag=0;}
 }

 return bt;
}

void Visit(BiTree bt)
{
 while(bt->data!='$')
 printf("%c,",bt->data);
}

void PreOrder(BiTree bt)
{
 if(bt!=NULL)
 {
  Visit(bt);
  PreOrder(bt->Lchild);//全部遍历 
  PreOrder(bt->Rchild);//全部遍历 
 }
}

int main()
{
 BiTNode *bt;
 CreateBiTree(bt);
 PreOrder(bt);
 getch();
}
  • 写回答

1条回答 默认 最新

  • MAC_Feng 2015-12-15 01:57
    关注

    bt-Rchild=(BiTNode *)malloc(sizeof(bt-Rchild));

    你有的没有写指针的访问符!
    bt->Rchild

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮