数据结构二叉树程序(紧急!)

来源:百度知道 编辑:UC知道 时间:2024/05/24 23:35:17
设二叉树的根为bt 。其类型定义如下。

计算该数中叶结点的个数。
typedef struct node
{ data type date;
struct node *Lchild,*Rchild;
}
拜托了。。请各位大侠帮帮忙。。紧急呀
叶结点个数

#include <stdio.h>/* 头文件 */
#include <stdlib.h>
#include <malloc.h>
typedef struct BiTNode/* 定义节点 */
{
char data;/* 元素类型为字符 */
struct BiTNode *lchild,*rchild;/* 左孩子右孩子 */
}
BiTNode,*BiTree;
BiTree CreateBiTree()/* 用先序递归建树 */
{
char p;BiTree T;
scanf("%c",&p);
if(p==' ') T=NULL;
else
{
T=(BiTNode *)malloc(sizeof(BiTNode));/* 开辟空间 */
T->data=p;
T->lchild=CreateBiTree();
T->rchild=CreateBiTree();
}
return (T);
}
int Leaves(BiTree T)//叶子结点个数
{
int num1,num2;
if(T==NULL)
return(0);
if(T->lchild==NULL&&T->rchild==NULL)
return(1);
num1=Leaves(T->lchild);
num2=Leaves(T->rchild);
return(num2+num1);
}
void main()/* 主函数 */
{
BiTree Ta;
int num;