C&R tree是什么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/31 19:47:47
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;
}