qq_31611361 2015-11-28 09:49 采纳率: 0%
浏览 1339

请问这个二叉树的创建和遍历什么地方出了问题?麻烦只要说出问题就行了,不要发新程序。

#include
#include
#define NULL 0
struct btree
{
char data;
btree *lchild;
btree *rchild;
};

void displaybtree(btree *t);
btree *createbtree(btree *t);

void main()
{
btree *t1,*t2;t1=(btree *)malloc(sizeof(btree));t2=(btree *)malloc(sizeof(btree));
printf("请输入二叉树:");
t2=createbtree(t1);
printf("输出为:");
displaybtree(t2);
}

btree *createbtree(btree *t)
{
t=(btree *)malloc(sizeof(btree));
char ch;
ch=getchar();
if(ch=='#')
t=NULL;
else
{
t->data=ch;
createbtree(t->lchild);
createbtree(t->rchild);
}
return t;
}

void displaybtree(btree *t)
{
if(t!=NULL)
{ printf("%c",t->data);
displaybtree(t->lchild);
displaybtree(t->rchild);
}
}

  • 写回答

1条回答 默认 最新

  • Meditator_hkx 2015-11-28 10:01
    关注

    对于树节点T,此程序会重复动态分配内存。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料