mary__lin 2014-04-21 07:55 采纳率: 0%
浏览 871

求高数解答二叉树的递归建立问题

从书上看了一个递归建立二叉树的算法(利用前序遍历建立二叉树).代码如下(这个递归的结束条件是输入一个分号";")但是我不明白的是这个分号是从程序的哪里被读入从而结束递归的. 希望高手解答
#include
#include
typedef char Type;
typedef struct BinTNode{
Type data;
struct BinTNode lchild;
struct BinTNode *rchild;
}BinTNode;
//递归建立
void CreateBinTree(BinTNode **T)
{
Type item;
scanf("%c",&item);
if(item==';')return;
if(item!='#')
{
*T=(BinTNode
)malloc(sizeof(BinTNode));
(*T)->data=item;
CreateBinTree(&((*T)->lchild));
CreateBinTree(&((*T)->rchild));
}
else
{
(*T)=NULL;
}
}
//前序遍历
void PreOrder(BinTNode *T)
{
// printf("mx");
if(T!=NULL)
{
printf("%c",T->data);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
}
int main()
{
BinTNode *T;
CreateBinTree(&T);
PreOrder(T);
system("pause");
return 0;
}
运行后发现.不管输入"ABC##DE#G##F### ;" 还是"ABC##DE#G##F######### ;" 都可以成功运行

建立起来的二叉树和运行结果如图所示

CSDN移动问答

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 spring后端vue前端
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题