C&R tree是什么?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 06:14:14
C&Rtree是什么?C&Rtree是什么?C&Rtree是什么?tSumofleafnode(Bitreeroot);大小写是敏感的你写错了第三你函数调用有点混怎么把类型也写上了你打算强制转换?那也

C&R tree是什么?
C&R tree是什么?

C&R tree是什么?
t Sumofleafnode(Bitree root); 大小写是敏感的 你写错了
第三 你函数调用有点混 怎么把类型也写上了 你打算强制转换?那也没有参数的声明部分 总之你错误多多 在指针前面在加&是什么意思呢
在你的基础上修改的 你对照一下 太多修改之处 没时间注释 但是思路按你的来
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode
{
char data;
struct BiTNode *lchild;
struct BiTNode *rchild;
}*BiTree;
BiTree root;
void CreateBiTree(BiTree root);
void order(BiTree root);
int Sumofleafnode(BiTree root);
void main()
{char ch;
printf("Now Creat a tree\n");
BiTree root = (BiTNode*)malloc(sizeof(BiTNode));
CreateBiTree(root);
printf("xian zai jinxing zhong xu bianli\n");
order(root);
printf("cout the sum of leafnode :%d\n",Sumofleafnode(root));
}
void CreateBiTree(BiTree root)
{char ch;
printf("\n please insert a char:");
BiTree root1=(BiTree)malloc(sizeof(BiTNode));
//scanf("%c",&ch);
BiTree root2=(BiTree)malloc(sizeof(BiTNode));
ch = getchar();
if(ch == 10)ch = getchar();
if(ch==' ')
else
{ root->data=ch;
root->lchild = root1;
root->rchild = root2;
CreateBiTree(root->lchild);
CreateBiTree(root->rchild);
}
}
void order(BiTree root)
{if(root->data!=NULL)
{order(root->lchild);
printf("%c ",root->data);
order(root->rchild);
}
}
int Sumofleafnode(BiTree root)
{int sum;
if(root->data == NULL) sum=1;
else sum=Sumofleafnode(root->lchild)+Sumofleafnode(root->rchild);
return sum;
}