#include <stdio.h>
#include <stdlib.h>
typedef struct Node{
int data;
struct Node *lchild,*rchild;
}TreeNode,*Tree;
void CreateTree(Tree &T)
{
int x;
scanf("%d",&x);
if(x==-1)
{
T=NULL;
return;
}
else
{
T=(Tree)malloc(sizeof(TreeNode));
T->data=x;
printf("输入%d的左结点:",x);
CreateTree(T->lchild);
printf("输入%d的右结点:",x);
CreateTree(T->rchild);
}
}
int GetNum(Tree T) //递归求个数
{
if(T==NULL)
return 0;
else
return 1+GetNum(T->lchild)+GetNum(T->rchild);
}
int main()
{
Tree T;
CreateTree(T);
int x=GetNum(T);
printf("%d",x);
return 0;
}