计算一棵二叉树的单分支数(c语言代码实现)

编程入门 行业动态 更新时间:2024-10-14 14:18:35

计算一棵二叉树的单分<a href=https://www.elefans.com/category/jswz/34/1648605.html style=支数(c语言代码实现)"/>

计算一棵二叉树的单分支数(c语言代码实现)

本题代码如下

int num(tree t)
{if (!t)return 0;else if ((t->lchild && t->rchild==NULL)|| (t->lchild==NULL&& t->rchild))//计算单支树return num(t->lchild) + num(t->rchild) + 1;else return num(t->lchild) + num(t->rchild);
}

完整测试代码如下

#include<stdio.h>
#include<stdlib.h>
typedef struct treenode {char data;struct treenode* lchild, * rchild;
}treenode, * tree;
void buildtree(tree* t)//建树
{char ch;ch = getchar();if (ch == '#')t = NULL;else{*t = (treenode*)malloc(sizeof(treenode));//分配空间(*t)->data = ch;(*t)->lchild = NULL;(*t)->rchild = NULL;buildtree(&((*t)->lchild));buildtree(&((*t)->rchild));}
}
int num(tree t)
{if (!t)return 0;else if ((t->lchild && t->rchild==NULL)|| (t->lchild==NULL&& t->rchild))//计算单支树return num(t->lchild) + num(t->rchild) + 1;else return num(t->lchild) + num(t->rchild);
}
int main() {tree t;buildtree(&t);printf("该二叉树中有%d个单分支\n", num(t));return 0;
}

测试:ABD##E##CF###

/*        A
    B        C
D      E   F

*/

更多推荐

计算一棵二叉树的单分支数(c语言代码实现)

本文发布于:2023-11-16 01:05:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1610996.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:支数   一棵   语言   代码   二叉树

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!