#include <stdio.h>
#include <stdlib.h>
#define DATATYPE char
#define NULL '\0'
typedef struct node
{
DATATYPE data
;
struct node
*lchild
,*rchild
;
}BTLINK
;
BTLINK
*creat()
{
BTLINK
*q
;
BTLINK
*s
[30];
int j
,i
;
char x
;
printf("i,x=");
scanf("%d,%c",&i
,&x
);
while(i
!=0&&x
!='$')
{
q
=(BTLINK
*)malloc(sizeof(BTLINK
));
q
->data
=x
;
q
->lchild
=NULL;
q
->rchild
=NULL;
s
[i
]=q
;
if(i
!=1)
{
j
=i
/2;
if(i
%2==0)
s
[j
]->lchild
=q
;
else
s
[j
]->rchild
=q
;
}
printf("i,x=");
scanf("%d,%c",&i
,&x
);
}
return s
[1];
}
void digui(BTLINK
*bt
)
{
if(bt
!= NULL)
{
digui(bt
->lchild
);
printf("%c",bt
->data
);
digui(bt
->rchild
);
}
}
main()
{
BTLINK
*bt
;
bt
=creat();
digui(bt
);
}
转载请注明原文地址: https://lol.8miu.com/read-30691.html