概述
#include
using namespace std;
typedef char DataType;
//二叉树数据结构
struct node
{
DataType info ; //存放结点数据
struct node *lchild , *rchild ; //指向左右孩子的指针
};
typedef struct node *BiTree ;
/*创建二叉树
函数名:createBiTree
参数:无
返回值:二叉树根结点指针
*/
BiTree createBiTree(void)
{
char ch ;
BiTree root ;
cin>>ch ;
if(ch == ‘#’) root = NULL;
else{
root = new struct node ;
root->info = ch ;
root->lchild = createBiTree() ;
root->rchild = createBiTree();
}
return root ;
}
void visit(BiTree T)
{
cout<info ;
}
int countFullNode(BiTree root)
{
//请在此处填写代码,计算二叉树中满结点的个数
/********** Begin **********/
int nodes = 0;
if(root == NULL)
return 0;
else if(root->lchild== NULL && root->rchild == NULL)
return 0;
else if(root->lchild == NULL && root->rchild!= NULL)
nodes = countFullNode(root->rchild);
else if(root->lchild != NULL && root->rchild == NULL)
nodes = countFullNode(root->lchild);
else
nodes = 1+countFullNode(root->lchild) + countFullNode(root->rchild);
return nodes;
/*********** End-**********/
}
int main(void)
{
BiTree root = createBiTree();
cout<<countFullNode(root) ;
}
最后
以上就是大胆砖头为你收集整理的数据结构与算法--计算二叉树中有两个孩子的结点个数的全部内容,希望文章能够帮你解决数据结构与算法--计算二叉树中有两个孩子的结点个数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复