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 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
    • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
    • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)