小编存储了不少代码,最近新开通了CSDN博客,以前一直看到别人的代码分享,深受启发,非常感谢,所以小编现在也要将自己的代码分享给大家,希望大家可以与潇小白一起在编程的道路上越走越远,早日成为大佬!虽然我目前只是一名大二的学生,不过我会努力哒!加油!

本次分享的用C语言求二叉树叶子节点的个数,由于代码比较简单,潇小白本次就设置了一个C文件,不是以前的工程文件,小伙伴们运行时要注意哦!

代码如下:

#include <stdio.h>
#include <malloc.h>
#include <conio.h>typedef char ElemType;typedef struct node
{ElemType data; //数据元素struct node *lchild; //指向左孩子struct node *rchild; //指向右孩子
}*BitTree;void CreatBiTree(BitTree *bt)
{char ch;ch=getchar();if(ch=='#')*bt=NULL;else{*bt=(BitTree)malloc(sizeof(BitTree));(*bt)->data=ch;CreatBiTree(&((*bt)->lchild));CreatBiTree(&((*bt)->rchild));}
}int CountLeaf(BitTree *bt,int count)
{if((*bt)!=NULL){if((*bt)->lchild==NULL&&(*bt)->rchild==NULL)count++;count=CountLeaf(&(*bt)->lchild,count);count=CountLeaf(&(*bt)->rchild,count);}return count;
}void main()
{int count=0;BitTree tree;printf("请输入二叉树(以#为空子树):");CreatBiTree(&tree);count=CountLeaf(&tree,count);printf("叶子节点数为:%d",count);printf("\n");
}

运行结果看这里:

C语言数据结构——求二叉树叶子结点个数相关推荐

  1. c语言实现求二叉树叶子结点个数

    通过递归求解二叉树叶子结点个数,关键在于递归结束条件的设置. main.c #include<stdio.h>//定义结点类型 typedef struct BINARYNODE {cha ...

  2. 求二叉树叶子结点及其个数

    先序遍历.中序遍历.后序遍历,其实本质都是一样的 图片来源于传智播客课程 //求叶子节点个数,先序 int sum = 0; void Ynumber(BinNode * root) {     if ...

  3. 求二叉树中结点个数代码java_求二叉树中第K层结点的个数

    一,问题描述 构建一棵二叉树(不一定是二叉查找树),求出该二叉树中第K层中的结点个数(根结点为第0层) 二,二叉树的构建 定义一个BinaryTree类来表示二叉树,二叉树BinaryTree 又是由 ...

  4. c语言求树上节点的双亲,用非递归算法求二叉树叶子结点的c语言代码怎样写?...

    递归算法:是一种直接或者间接地调用自身的算法.在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解. 递归算法的特点 递归过程一般通过函数或子过程来实现. 递归 ...

  5. 求二叉树的叶子结点个数(C语言)

    输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示该二叉树是空树,否则该字符是相应结点的数据元素. 输出格式: 输出有两行: 第一行是二叉树的中序遍历序列 ...

  6. 31行代码AC——PTA 求二叉树的叶子结点个数 (20分)——解题报告

    励志用尽量少的代码做高效的表达. 以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数. 输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示该二叉树是空 ...

  7. 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)

    typedef struct TreeNode {struct TreeNode *left;struct TreeNode *right;char val; }TreeNode;typedef st ...

  8. 【数据结构】——二叉树的创建、计算叶子结点个数、递归遍历

    前面我们讲了关于数据结构中的堆栈问题,这篇文章主要是为大家简要介绍一下二叉树,并实现二叉树的创建.计算叶子结点个数.递归遍历.判断是否是完全二叉树等相关问题~ 一.二叉树的介绍 1.什么是二叉树 一棵 ...

  9. 求二叉树的叶子结点个数

    7-5 求二叉树的叶子结点个数 (20 分) 以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数. 输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示 ...

  10. 求二叉树b的结点个数、叶子结点个数

    #include"tree.cpp" //包含了二叉树的基本算法/*-------- 求二叉树b的结点个数.叶子结点个数 ---------*///求二叉树b的结点个数 int N ...

最新文章

  1. 记真实自己,炫精彩人生---《爱记》app使用体验
  2. 如何安全存储比特币现金(BCH)?
  3. redhat6.4 添加yum本地源和安装virtualbox增强组件
  4. (并查集 建立关系)食物链 -- POJ-- 1182
  5. 业界 | 复杂出行场景下,滴滴如何将AI融入地图系统
  6. PHP递归创建多级目录(一道面试题的解题过程)
  7. 计算机还是数学竞赛内容吗,除了AMC,数学牛娃还能参加什么高含金量的数学竞赛...
  8. JS进阶 你真的掌握变量和类型了吗?
  9. 用Net::Telnet来弥补System.Net.Sockets的不足
  10. Linux正确查看内存占用
  11. cmos功能测试软件,CMOS摄像头开发测试方法(我总结的)
  12. pytorch Resnet 网络结构
  13. iconfont 在项目中使用阿里icon
  14. 单片机驱动DM9000网卡芯片
  15. 城市智慧排水系统导论
  16. mysql异常-SQLSTATE[HY000]: General error: 1436 Thread stack overrun
  17. MT7628实现Amazon alexa语音控制
  18. java 判断手机运营商_JS正则表达式判断手机号所属运营商
  19. 关于学习的几个经典定律
  20. AOT(超前编译)实例分析

热门文章

  1. php微信 消息推送 配置,PHP微信公众号模板消息推送
  2. meshLab裁剪网格
  3. Java中获取实时时间
  4. Windows10更新后,如何删除多出来的OEM分区?
  5. GitChat · 前端 | JavaScript 进阶之 Vue.js + Node.js 入门实战开发
  6. 通过js打开浏览器独立的页面
  7. 在线象棋游戏php网站源码分享
  8. 基于pytorch计算ssim和ms-ssim
  9. 几个容易中的计算机类核心期刊,几个较容易发表管理类文章的核心期刊(转)...
  10. 计算机毕业设计Java幼儿园管理系统(源码+系统+mysql数据库+Lw文档)