統(tǒng)計(jì)C語(yǔ)言二叉樹中葉子結(jié)點(diǎn)個(gè)數(shù)
樹是一種非線性的數(shù)據(jù)結(jié)構(gòu),它是由n(n>=0)個(gè)有限結(jié)點(diǎn)組成一個(gè)具有層次關(guān)系的集合。把它叫做樹是因
為它看起來(lái)像一棵倒掛的樹,也就是說(shuō)它是根朝上,而葉朝下的,下面我們就用簡(jiǎn)單小栗子來(lái)簡(jiǎn)單說(shuō)明關(guān)于統(tǒng)計(jì)C語(yǔ)言二叉樹中葉子結(jié)點(diǎn)個(gè)數(shù)的方法吧
簡(jiǎn)單小栗子:
#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)計(jì)二叉樹結(jié)點(diǎn)個(gè)數(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("二叉樹結(jié)點(diǎn)的個(gè)數(shù):%d\n",count);
}按照先序遍歷的方式來(lái)輸入二叉樹結(jié)點(diǎn),若孩子結(jié)點(diǎn)為空,則輸入空格。
輸入:
ABD E CF
返回結(jié)果:
先序遍歷:
A B D E C F二叉樹結(jié)點(diǎn)的個(gè)數(shù):
3葉子結(jié)點(diǎn)分別是:
D、E、F
到此這篇關(guān)于統(tǒng)計(jì)C語(yǔ)言二叉樹中葉子結(jié)點(diǎn)個(gè)數(shù)的文章就介紹到這了,更多相關(guān)統(tǒng)計(jì)二叉樹中葉子結(jié)點(diǎn)個(gè)數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實(shí)現(xiàn)簡(jiǎn)單通訊錄管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)單通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易掃雷游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究
這篇文章主要為大家介紹了C到C++的升級(jí)關(guān)系及區(qū)別實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

