#include

#include

typedef struct Node

{

int data;

struct Node *LChild;

struct Node *RChild;

}BiTNode,*BiTree;

int Leaf_Count=0;                                //******

//先序遍历创建二叉树

void CreateBiTree(BiTree *bt)

{

int ch;

scanf("%d",&ch);

if(ch==0)

*bt=NULL;

else

{

*bt=(BiTree)malloc(sizeof(BiTree));

(*bt)->data=ch;

CreateBiTree(&((*bt)->LChild));

CreateBiTree(&((*bt)->RChild));

}

}

//先序打印二叉树

void PreOrder(BiTree bt)

{

if(bt)

{

printf("%d ",bt->data);

PreOrder(bt->LChild);

PreOrder(bt->RChild);

}

}

//中序打印二叉树

void InOrder(BiTree bt)

{

if(bt)

{

InOrder(bt->LChild);

printf("%d ",bt->data);

InOrder(bt->RChild);

}

}

//后序打印二叉树

void PostOrder(BiTree bt)

{

if(bt)

{

PostOrder(bt->LChild);

PostOrder(bt->RChild);

printf("%d ",bt->data);

}

}

//先序输出二叉树的叶子结点

void Pre_Order(BiTree bt)

{

if(bt)

{

if(bt->LChild==NULL&&bt->RChild==NULL)

printf("%d ",bt->data);

Pre_Order(bt->LChild);

Pre_Order(bt->RChild);

}

}

//输出叶子结点数目

void LeafCount(BiTree bt)

{

if(bt)

{

LeafCount(bt->LChild);

LeafCount(bt->RChild);

if(bt->LChild==NULL&&bt->RChild==NULL)

Leaf_Count++;

}

}

//输出叶子结点数目

int Leaf(BiTree bt)

{

int Leaf_Count;

if(bt==NULL)

Leaf_Count=0;

else if(bt->LChild==NULL&&bt->RChild==NULL)

Leaf_Count=1;

else

return Leaf(bt->LChild)+Leaf(bt->RChild);

}

int main()

{

BiTree bt;

int Leaf_Count=0;

printf("先序序创建二叉树输入零结束输入\n");

CreateBiTree(&bt);

printf("先序打印二叉树\n");

PreOrder(bt);

printf("\n");

printf("中序打印二叉树\n");

InOrder(bt);

printf("\n");

printf("中序打印二叉树\n");

PostOrder(bt);

printf("\n");

printf("输出二叉树中的叶子结点\n");

Pre_Order(bt);

printf("\n");

printf("后序遍历输出叶子结点数目1.\n");

//Leaf_Count=0;                                                //*******

LeafCount(bt);

printf("%d",Leaf_Count);

printf("\n");

printf("后序遍历输出叶子结点数目2.\n");

int num=Leaf(bt);

printf("%d",num);

return 0;

}

这样吗?

统计二叉树中叶子结点数数据结构C语言,统计二叉树中叶子结点个数的问题,相关推荐

  1. 设某棵二叉树中度数为 0 的结点数为 N0 ,度数为 1 的结点数为 N1 ,则该二叉树中度数为 2 的结点数为? ;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有 ? 个空指针域

    度数为 2 的结点数为N0-1:有 2N0+N1个空指针域 分析: 根据总结点数=总度数+1,所以N0+N1+N2=0✘N0+1✘N1+2✘N2+1,得出N2=N0-1,度数为2的结点数就为N0-1 ...

  2. 【二叉树】大学有棵树叫高数,数据结构也有棵二叉树-代码详解

    文章目录 二叉树 二叉树结构 快速构建一颗二叉树 前序遍历 中序遍历 后序遍历 层序遍历 注意点 计算二叉树结点个数 求叶子结点个数 求第K层结点个数 求二叉树的深度 查找值为x的结点 关于二叉树递归 ...

  3. 数据结构c语言版二叉树的顺序存储表示,数据结构(十一) -- C语言版 -- 树 - 二叉树基本概念...

    内容预览 零.读前说明一.二叉树相关概念1.1.定义1.2.性质1.3.满二叉树与完全二叉树1.3.1.满二叉树1.3.2.完全二叉树1.3.3.特点延伸 二.二叉树储存结构2.1.顺序结构存储2.2 ...

  4. 【数据结构C语言】二叉树的遍历

    //实验4 二叉树的遍历 上机实验 /*本实验函数包括1.先序遍历建立二叉树(有无返回值的函数)2.先序遍历递归算法3.中序遍历递归算法4.后序遍历递归算法5.计算深度6.计算结点个数,叶子结点数 7 ...

  5. 【C语言】数据结构C语言版 实验3 带头结点的单链表

    slnklist.h #include <stdio.h> #include <stdlib.h> /************************************* ...

  6. 数据结构(C语言版)——二叉树的顺序存储结构(代码版)

    一.代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math. ...

  7. c语言程序设计学习中的问题与对策,C语言程序设计学习中的问题与对策.pdf

    C语言程序设计学习中的问题与对策 第 20 期 计 算 机 教 育 2010 年 10 月 25 日 Computer Education No.20 Oct.25,2010 83 文章编号:1672 ...

  8. python语言在abaqus中的应用 仿真秀_Python语言在Abaqus中的应用(18讲)-掌握Python编程实现ABAQUS高效仿真...

    本课适合那些人学习: 1.理解有限元基本概念.熟悉Abaqus/CAE分析流程的工程师: 2.学习型仿真工程师 3.使用Abaqus软件进行有限元分析的工程师 4.高校教师.博(硕)士研究生 对学员的 ...

  9. C语言中求某课程最高分,C语言:统计全班某门功课的期末考试平均分和最高分,设全班有n人,并找出在这n个成绩中超过平均值的那些数...

    满意答案 s4578731 2013.07.03 采纳率:48%    等级:11 已帮助:9006人 /* * =========================================== ...

最新文章

  1. 终于有人把云计算、物联网和大数据讲明白了!
  2. 揭秘大型网站架构进化之路
  3. 电脑台式计算机描述不可用,win7系统计算机描述不可用的解决方法
  4. Java并发编程——volatile
  5. java mcrypt encrypt_PHP mcrypt_encrypt加密,使用java解密
  6. 论如何入门地使用vscode
  7. Thinkphp中的 I 函数(Thinkphp3.2.3版本)
  8. npm ------ npm 安装删除命令(rimraf)删除本地依赖包
  9. leetcode每日一题·救生艇问题(Python)
  10. plop-template
  11. 小布老师讲座笔记(三)
  12. 硬阈值(Hard Thresholding)函数解读
  13. tile cannot extend outside image
  14. Redis集群--Cluster--故障转移的过程(原理)
  15. 研究生计算机学院换研究方向不换导师,南邮自杀研究生曾抱怨“导师不让毕业” 导师被停职...
  16. 人脉变现小程序裂变定制开发
  17. 一阶泰尔指数分解推导
  18. Latex常用宏包\usepackage
  19. winform生成桌面快捷方式
  20. oracle imp ora 00959,如何IMP存储在多TABLESPACE上的对象(IMP-00003 和 ORA-00959 问题的对应)...

热门文章

  1. css如何设置x轴为滚动,解决移动端页面出现 X轴横向滚动条问题
  2. 2023年全国最新道路运输从业人员精选真题及答案1
  3. JPA 多数据源 ,hikari 连接池 亲测可用
  4. 【转】jsp 表单form传值
  5. SpringWeb 系列教程
  6. angular5 的angular-cli修改端口号
  7. C语言游戏开发SDL篇
  8. 数控车宏程序编程加工视频教程 车螺纹代码教程
  9. 《刺客信条》新作效仿《西部世界》:玩家写剧本
  10. Java微信公众号推送消息