c++程序 建立二叉树 编译无错 运行时出错

2024-12-17 15:00:31
推荐回答(1个)
回答1:

#include
#include
typedef struct bitree{
int data;
struct bitree *lchild,*rchild;
}*linklist;
void create_bitree(linklist &T)
{
int ch;
scanf("%d",&ch);
if(ch==0) T=NULL;
else
{
T=(linklist)malloc(sizeof(bitree));
T->data=ch;
create_bitree(T->lchild);
create_bitree(T->rchild);
}
}
void print(linklist T)
{
if(T)
{
printf("%d ",T->data);
print(T->lchild);
print(T->rchild);
}
}
main(){
linklist L;
L=(linklist)malloc(sizeof(bitree));
create_bitree(L);
print(L);
printf("\n");
system("pause");
}

我帮你改了一下,在我加了一个递归遍历,你把代码放在.cpp文件里面运行吧
注意要放在。cpp文件下,上面用了引用