叶结点个数.c
来自「编写程序」· C语言 代码 · 共 47 行
C
47 行
#include<stdio.h>
#include<stdlib.h>
typedef char DataType;
#include "BiTree.h"
#include "BiTreeTraverse.h"
void Visit(DataType item)
{
printf("%c ", item);
}
int GetCount(BiTreeNode *T)
{
int x=0,y=0;
if(!(T->leftChild)&&!(T->rightChild)) return 1;
if(T->leftChild) x=GetCount(T->leftChild);
if(T->rightChild) y=GetCount(T->rightChild);
return x+y;
}
void main(void)
{
BiTreeNode *root,*p,*pp;
int i;
BiTreeInitiate(&root);
p=InsertLeftNode(root,'A');
p=InsertLeftNode(p,'B');
p=InsertLeftNode(p,'D');
p=InsertRightNode(p,'G');
p=InsertRightNode(root->leftChild,'C');
pp=p;
InsertLeftNode(p,'E');
InsertRightNode(pp,'F');
PrintBiTree(root,0);
printf("叶结点的个数为:");
i=GetCount(root);
printf("%d\n",i);
Destroy(&root);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?