中易网

跪求高手,如何输入n来建立一个深度为n的满二叉树,C语言的

答案:2  悬赏:20  
解决时间 2021-02-19 10:34
跪求高手,如何输入n来建立一个深度为n的满二叉树,C语言的
最佳答案
typedef struct node{

node * leftChild;

node * rightChild;
int data;
}treeNode;
void createFullTree(int deep,treeNode * root){
treeNode * left = (treeNode *)malloc(sizeof(treeNode));
treeNode * right = (treeNode *)malloc(sizeof(treeNode));
root->leftChild = left;
root->rightChild = right;
--deep;
if(deep > 0){
createFullTree(deep,left);
createFullTree(deep,right);
}
else{
return;
}
}
差不多这个意思,你自己仔细看看
全部回答
这里其实有个很有去的问题,上帝终于把自己搬起来了。 在c中函数可以自己调用自己递归,所以在deep的函数里面还有deep。 在第一次运行后,rd+1(如果rd较大)被赋值给了deep,然后rd=deep,所以rd就被+1了,要是一直有next就一直做下去,知道最后,每次+1. 加的:比如从头节点开始,第一个结点为a,最开始t为指向都结点的指针,然后在if(!t)中判断,因为t不为null(在ascii中的值为0)所以!t为假,所以运行else,ld和rd在初始化时为1,然后运行id=deep(t->lchild)=1和rd=deep(t->rchild)=1此时的t->lchild将被带回到t中,下次运行时此处变为t->lchild->child,这样树就往下搜索了(或指向左边这个在后面的循环种可能出现)、然后判断if(ld>rd)然后运行return ld+1这个值被返回到外面的int deep(tree t)中然后第二次循环时rd=deep(tree t)的值就是ld+1这样就相当于count+1了再循环是将再判断,再+1,就可以得到结果了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有波兰的签证,可以去别的国家吗
一个“目”加一个“瞿”念什么
准备配个800度的近视眼镜没有散光,要求希望
云台山街/玄武湖路(路口)这个地址在什么地方
选购住房:房屋进深10米左右为宜
iphone4s铃声怎么下载
请问:属虎AB型水瓶座的性格和命运。谢谢!
通过论坛IP查找IP地址
我是iPhone4s,连接wifi时总是自动断开,然后
什么叫期货,期货是干什么的,
cr8mo2vsi的热处理的加热用的什么炉
毕业人户籍在天等可以把毕业档案存在马山吗?
您好,我在兴业银行办理是信用卡,8月份没消
农村信用社向邮政储蓄转账怎么收费
你昨天给我的那些钱用完了 The money _______
推荐资讯
小明家客厅的桌子上放着一只玻璃鱼缸,鱼缸的
没有灯光监控摄像头还可以看见小偷偷东西吗
沛县龙固镇三里居民委员会怎么去啊,有知道地
平定高速公路/G22(路口)怎么去啊,有知道地址
三人去吃美食可不可以到店里以后在团购?
喜羊羊烧烤广场地址有知道的么?有点事想过去
Apple ID安全提示问题忘记了,要怎么修改,在
升级流的异界小说 都市小说 无郁闷小说. 异界
大众熘炒地址在什么地方,想过去办事
眼圈熊好养吗
ucosiii移植stm32需要内存管理吗
明天早晨包饺子头天晚上和面行吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?