这篇文章主要介绍的是统计C语言二叉树中叶子结点个数,文章以C语言二叉树中叶子结点为基础分享一个简单小栗子讲解,具有一定的知识参考价值,需要的小伙伴可以参考一下
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因
为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的,下面我们就用简单小栗子来简单说明关于统计C语言二叉树中叶子结点个数的方法吧
简单小栗子:
#include<stdio.h>
#include<stdlib.h>
typedef char ElemType;
typedef struct BTNode
{
ElemType data;
struct BTNode *left;
struct BTNode *right;
}BTNode,*BiTree;
//创建二叉树
void createBTNode(BiTree &BT)
{
ElemType ch;
scanf("%c",&ch);
if(ch==' ')
BT=NULL;
else
{
BT = (BTNode*)malloc(sizeof(BTNode));
BT->data= ch;
createBTNode(BT->left);
createBTNode(BT->right);
}
}
//先序遍历二叉树
void printDLR(BiTree BT)
{
if(BT)
{
printf("%c ",BT->data);
printDLR(BT->left);
printDLR(BT->right);
}
}
//统计二叉树结点个数
void countLeaves(BiTree BT,int &count)
{
if(BT)
{
if(BT->left==NULL && BT->right==NULL)
count++;
else{
countLeaves(BT->left,count);
countLeaves(BT->right,count);
}
}
}
void main()
{
BTNode *BT;
int count=0;
createBTNode(BT);
printf("先序遍历:");
printDLR(BT);
printf("\n");
countLeaves(BT,count);
printf("二叉树结点的个数:%d\n",count);
}
按照先序遍历的方式来输入二叉树结点,若孩子结点为空,则输入空格。
输入:
ABD E CF
返回结果:
先序遍历:
A B D E C F
二叉树结点的个数:
3
叶子结点分别是:
D、E、F
到此这篇关于统计C语言二叉树中叶子结点个数的文章就介绍到这了,更多相关统计二叉树中叶子结点个数内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:统计C语言二叉树中叶子结点个数


基础教程推荐
猜你喜欢
- 一文带你了解C++中的字符替换方法 2023-07-20
- C/C++编程中const的使用详解 2023-03-26
- C语言 structural body结构体详解用法 2022-12-06
- C++详细实现完整图书管理功能 2023-04-04
- C++使用easyX库实现三星环绕效果流程详解 2023-06-26
- 如何C++使用模板特化功能 2023-03-05
- C++中的atoi 函数简介 2023-01-05
- C语言基础全局变量与局部变量教程详解 2022-12-31
- C利用语言实现数据结构之队列 2022-11-22
- 详解c# Emit技术 2023-03-25