|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问大家 二叉树输入数据要怎么结束输入哈, 根据课程写的代码发现会陷入无尽的输入 求解决办法
代码如下
#include <stdio.h>
#define elemtype char
typedef struct bitnode
{
elemtype data;
struct bitnode *l_child,*r_child;
}bitnode,*bi_Tree;
void pre_traverse(bi_Tree T)
{
if(T==NULL)
{
return;
}
printf("%d",T->data); //对结点的操作
pre_traverse(T->l_child); //先序遍历左子树
pre_traverse(T->r_child); //后序遍历右子树
}
bi_Tree create_bi_Tree(bi_Tree *T)
{
elemtype ch;
ch=getchar();
if(ch=='#')
{
*T=NULL;
}
else
{
*T=(bi_Tree)malloc(sizeof(bitnode));
(*T)->data=ch;
create_bi_Tree(&(*T)->l_child);
create_bi_Tree(&(*T)->r_child);
}
return T;
}
int main()
{
bi_Tree T;
create_bi_Tree(&T);
pre_traverse(T);
return 0;
}
|
|