#include<iostream>
using namespace std;
int size=0;
struct Binode
{
char data;
Binode *lchild,*rchild;
};
class Bitree
{
public:
Bitree() {root=Creat(root);}
~Bitree() {Release(root);}
int Count(){return Count(root);}
private:
int n;
Binode *root;
Binode * Creat(Binode *bt);
void Release(Binode *bt);
int Count(Binode *bt);
};
Binode * Bitree::Creat(Binode *bt)
{
char d;
cin>>d;
if(d=='#')
bt=NULL;
else
{
bt=new Binode;
bt->data=d;
bt->lchild=Creat(bt->lchild);
bt->rchild=Creat(bt->rchild);
}
return bt;
}
void Bitree::Release(Binode *bt)
{
if(bt!=NULL)
{
Release(bt->lchild);
Release(bt->rchild);
delete bt;
}
}
int Bitree::Count(Binode *bt)
{
//ToDo 计算节点个数
if(bt==NULL) return 0;
else{
++size;
}
Count(bt->lchild);
Count(bt->rchild);
}
int main()
{
//ToDo 设计主函数 以满足题意需求
Bitree A;
A.Count();
cout<<size<<endl;
return 0;
}
#include<iostream>
using namespace std;
int size=0;
struct Binode
{
char data;
Binode *lchild,*rchild;
};
class Bitree
{
public:
Bitree() {root=Creat(root);}
~Bitree() {Release(root);}
int Count(){return Count(root);}
private:
int n;
Binode *root;
Binode * Creat(Binode *bt);
void Release(Binode *bt);
int Count(Binode *bt);
};
Binode * Bitree::Creat(Binode *bt)
{
char d;
cin>>d;
if(d=='#')
bt=NULL;
else
{
bt=new Binode;
bt->data=d;
bt->lchild=Creat(bt->lchild);
bt->rchild=Creat(bt->rchild);
}
return bt;
}
void Bitree::Release(Binode *bt)
{
if(bt!=NULL)
{
Release(bt->lchild);
Release(bt->rchild);
delete bt;
}
}
int Bitree::Count(Binode *bt)
{
//ToDo 计算节点个数
if(bt==NULL) return 0;
else{
++size;
}
Count(bt->lchild);
Count(bt->rchild);
}
int main()
{
//ToDo 设计主函数 以满足题意需求
Bitree A;
A.Count();
cout<<