【2005 三 6】
两种方案计算二叉树各结点的子孙个数的算法
【测试数据】来源:https://blog.csdn.net/weixin_42034217/article/details/95787182
【代码解析】
#include <stdlib.h>
#include <stdio.h>
#define maxsize 100
// 定义结点类型
typedef struct btnode
{
int data;
int count;
struct btnode *lchild, *rchild;
} btnode;
FILE *fp;///使用文件读取数据
/*方案一*/
//二叉树
btnode* creat_bitree()
{
int a;
fscanf(fp, "%d", &a);
btnode *node = NULL;
if (a != 0)
{
node = (btnode *)malloc(sizeof(btnode));
node->data = a;
node->lchild = creat_bitree();
node->rchild = creat_bitree();
}
return node;
}
int count_child(btnode*t)
{
int left = 0;
int right = 0;
if (t == NULL)