最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

統(tǒng)計C語言二叉樹中葉子結點個數(shù)

 更新時間:2022年02月11日 08:55:07   作者:MyDreamingCode  
這篇文章主要介紹的是統(tǒng)計C語言二叉樹中葉子結點個數(shù),文章以C語言二叉樹中葉子結點為基礎分享一個簡單小栗子講解,具有一定的知識參考價值,需要的小伙伴可以參考一下

樹是一種非線性的數(shù)據(jù)結構,它是由n(n>=0)個有限結點組成一個具有層次關系的集合。把它叫做樹是因
為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的,下面我們就用簡單小栗子來簡單說明關于統(tǒng)計C語言二叉樹中葉子結點個數(shù)的方法吧

簡單小栗子:

#include<stdio.h>
#include<stdlib.h>
?
typedef char ElemType;
typedef struct BTNode
{
?? ?ElemType data;
?? ?struct BTNode *left;
?? ?struct BTNode *right;
}BTNode,*BiTree;
?
//創(chuàng)建二叉樹
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);
?? ?}
}
?
//統(tǒng)計二叉樹結點個數(shù)
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("二叉樹結點的個數(shù):%d\n",count);
}

按照先序遍歷的方式來輸入二叉樹結點,若孩子結點為空,則輸入空格。

輸入:

ABD  E  CF

返回結果:

先序遍歷:A B D E C F

二叉樹結點的個數(shù):3

葉子結點分別是:D、E、F

到此這篇關于統(tǒng)計C語言二叉樹中葉子結點個數(shù)的文章就介紹到這了,更多相關統(tǒng)計二叉樹中葉子結點個數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++?Boost?Accumulators累加器詳細講解

    C++?Boost?Accumulators累加器詳細講解

    Boost是為C++語言標準庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的開發(fā)引擎之一,是為C++語言標準庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • C++ float、double判斷是否等于0問題

    C++ float、double判斷是否等于0問題

    這篇文章主要介紹了C++ float、double判斷是否等于0問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • c++中的stack和dequeue解析

    c++中的stack和dequeue解析

    這篇文章主要介紹了c++中的stack和dequeue介紹,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • C++實現(xiàn)掃雷游戲

    C++實現(xiàn)掃雷游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C和C++的函數(shù)調用約定你知道多少

    C和C++的函數(shù)調用約定你知道多少

    這篇文章主要為大家詳細介紹了C和C++的函數(shù)調用約定,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 使用Visual Studio 2010/2013編譯V8引擎步驟分享

    使用Visual Studio 2010/2013編譯V8引擎步驟分享

    這篇文章主要介紹了使用Visual Studio 2013編譯V8引擎步驟分享,需要的朋友可以參考下
    2015-08-08
  • 實例講解C++編程中對設計模式中的原型模式的使用

    實例講解C++編程中對設計模式中的原型模式的使用

    這篇文章主要介紹了C++編程中對設計模式中的原型模式的使用實例,包括原型模式中對C++的深拷貝和淺拷貝的處理,需要的朋友可以參考下
    2016-03-03
  • Qt中QMainWindow使用及技巧

    Qt中QMainWindow使用及技巧

    QMainWindow是Qt框架中提供的一個主窗口類,它具有菜單欄、工具欄、狀態(tài)欄等常見的GUI元素,本文就來介紹一下使用技巧,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 基于C語言實現(xiàn)shell指令的詳解

    基于C語言實現(xiàn)shell指令的詳解

    本篇文章是對C語言實現(xiàn)shell指令的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言經(jīng)典例程100例(經(jīng)典c程序100例)

    C語言經(jīng)典例程100例(經(jīng)典c程序100例)

    這篇文章主要介紹了C語言經(jīng)典例程100例,經(jīng)典c程序100例,學習c語言的朋友可以參考一下
    2018-03-03

最新評論

乐业县| 高淳县| 永德县| 连山| 邓州市| 承德市| 阿克苏市| 双流县| 额济纳旗| 额济纳旗| 定安县| 介休市| 南召县| 遵义县| 尼勒克县| 信宜市| 梁平县| 广灵县| 于都县| 开远市| 蓬溪县| 碌曲县| 萨嘎县| 股票| 城步| 读书| 威信县| 西林县| 长葛市| 裕民县| 正宁县| 佛坪县| 重庆市| 襄樊市| 敖汉旗| 习水县| 大庆市| 贵阳市| 华阴市| 乌拉特前旗| 泸溪县|