注册 登录
编程论坛 数据结构与算法

建立二叉树

miszhou 发布于 2008-12-16 14:09, 1466 次点击
#include<stdio.h>
#include<malloc.h>
typedef struct node
{
char data;
struct node *lchild;
struct node *rchild;
}node;
node * create()
{
node *t;
char a;
scanf("%c",&a);
if(a=="#")
t=NULL;
else
{
t=(node*)malloc(sizeof(node));
t->data=a;
t->lchild=create();
t->rchild=create();
}
return (t);
}
main()
{
node *t;
t=create();
}
我有几个问题想请教一下:
1:根据什么来判断结束
2:t->lchild=create();t->rchild=create()这两句我不懂
3:最后返回的t是头结点还是最后结点
8 回复
#2
fp1512010-12-22 23:27
程序代码:
void createbt(bitree &bt)
{char ch;

 scanf("%c",&ch);

 if(ch=='#')bt=NULL;

 else

 {bt=(bitree)malloc(sizeof(tnode));
  bt->data=ch;
  createbt(bt->lchild);
  createbt(bt->rchild);

 }
}
#3
fp1512010-12-22 23:27
用递归来实现二叉树的建立的
1