请问如何用c语言实现二叉树的按层录入

来源:百度知道 编辑:UC知道 时间:2024/06/07 12:42:34
请问如何用c语言实现二叉树的按层录入
给一个源代码
谢谢了

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MaxSize 1024

typedef struct node
{
char data;
struct node *lchild;
struct node *rchild;
}BTnode;

static char a[1024];

void create(BTnode *&b,int m,int i)
{
if(i<m&&a[i]!=' ')
{
b=(BTnode*)malloc(sizeof(BTnode));
b->data=a[i];
b->lchild=b->rchild=NULL;
create(b->lchild,m,2*i);
create(b->rchild,m,2*i+1);
}
}

void print(BTnode *&b)
{
BTnode *p=b;
if(p!=NULL)
{
printf("%c",p->data);
if(p->lchild!=NULL||p->rchild!=NULL)
{
printf("(");
print(b->lchild);
if(p->rchild!=NULL)
{
printf(",");
print(b->rchild);
}