C++实现一个简单的二叉树叶节点统计

Posted Jing Sir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++实现一个简单的二叉树叶节点统计相关的知识,希望对你有一定的参考价值。

如下所示,这是一个简单的二叉树叶节点统计:

#include<iostream>
using namespace std;
struct tree

    int x;
    tree *left;
    tree *right;
;

int i=0;

tree* Creat(tree *t)//构建二叉树(按先序输入数字 ,0表示空树)

    int xx;
    cin>>xx;
    if(!xx)
    t=NULL;
    else
    
        t=new(tree);
        t->x=xx;
        t->left=Creat(t->left);
        t->right=Creat(t->right);
    
return t;


void inorder(tree* t)//中序遍历

    if(t)
    
        inorder(t->left);
        cout<<t->x<<' ';
        inorder(t->right);
    


void Count(tree *t)//统计叶子结点

    if(t)
    
        if(t->left==NULL&&t->right==NULL)
            i++;
        else
        
            Count(t->left);
            Count(t->right);
        
    


int main (void)

    tree *node;
    node=Creat(node);
    inorder(node);
    cout<<endl;
    Count(node);
    cout<<i<<endl;
    return 0;

 

以上是关于C++实现一个简单的二叉树叶节点统计的主要内容,如果未能解决你的问题,请参考以下文章

C++程序设计创建并统计二叉树的结点个数

数据结构算法设计——统计二叉树叶子结点的个数,并输出结果

分别统计二叉树中树叶和度为1的结点个数.

PTA 统计二叉树叶子结点个数

如何删除一棵普通二叉树的叶子结点?

java 求二叉树的叶子结点,下面的代码不知道哪里出错了!