33,028
社区成员
发帖
与我相关
我的任务
分享#include<stdio.h>
#include<stdlib.h>
#define TREESIZE 50
typedef struct bitree
{
char data;
struct bitree *light,*right;
}bitree;
bitree *createbitree(char *p);
void putbitree(bitree *t);
main()
{
char *p =(char *)malloc(TREESIZE*sizeof(char));
bitree *t;
t = NULL;
printf("按照先序输入树的结点,回车结束输入\n");
scanf("%s",p);
t = createbitree(p);
putbitree(t);
}
bitree *createbitree(char *p)
{
bitree *t;
t=NULL;
if(*p != '0' && *p)
{
t = (bitree *)malloc(sizeof(bitree));
t->data = *p;
t->light = *(p+1) ? createbitree(++p) : NULL;
t->right = *(p+1) ? createbitree(++p) : NULL;
}
return(t);
}
void putbitree(bitree *t)
{
if(t)
{
printf("%c",t->data);
putbitree(t->light);
putbitree(t->right);
}
else
printf("0");
}