请帮我看看这个二叉树哪里错了,我运行不正确吖。
#include "stdio.h"#include "stdlib.h"
typedef struct mat
{
int data;
struct mat *l;
struct mat *r;
}sbs;
void jianli(sbs *L)
{
int i;
printf("qin shu ru shu:\n");
scanf("%d",&i);
if(i!=0)
{
L=(sbs *)malloc(sizeof(sbs));
L->data=i;
jianli(L->l);
jianli(L->r);
}
}
void xian(sbs *L)
{
if(L!=NULL)
{
printf("%d\t",L->data);
xian(L->l);
xian(L->r);
}
}
void zhong(sbs *L)
{
if(L!=NULL)
{
xian(L->l);
printf("%d\t",L->data);
xian(L->r);
}
}
void hou(sbs *L)
{
if(L!=NULL)
{
xian(L->l);
xian(L->r);
printf("%d\t",L->data);
}
}
void main()
{
sbs *L;
jianli(L);
printf("*************************************");
xian(L);
printf("*************************************");
zhong(L);
printf("*************************************");
hou(L);
}
{:1_1:} 应该是 sbs **L,
sbs *L ,L只是指向结点,不是树
是 sbs **L,
sbs *L ,L只是指向结点,不是树 void jianli(sbs *L)入参类型错误。 应该传 树头指针的指针
页:
[1]