#include<stdio.h>
#include<stdlib.h>
typedef struct Btree
{
char data;
struct Btree *ltree;
struct Btree *rtree;
}Btree;
void create(Btree *&T)
{
char c;
scanf("%c",&c);
if(c=='#')
{
T=NULL;
}
else {
T=(Btree*)malloc(sizeof(Btree));
T->data=c;
create(T->ltree);
create(T->rtree);
}
}
int k=1,max=0;
void dgree(Btree *T,int n)
{
if(T!=NULL)
{
if(T->ltree!=NULL)
{
dgree(T->ltree,n);
}
if(T->rtree!=NULL)
{
dgree(T->rtree,n+1);
}
}
max=max>n?max:n;
}
int main()
{
Btree *T;
create(T);
if(T->rtree==NULL)
{
dgree(T,k);
printf("%d",max);
}
else
{
printf("ERROR");
}
return 0;
}
swustoj 982: 输出利用二叉树存储的普通树的度
最新推荐文章于 2024-06-21 22:29:52 发布