第九周项目3(2)- 输出所有叶子节点
2017-11-09 10:46
162 查看
/*
*Copyright(c)2017,烟台大学计算机学院
*All right reserved.
*文件名:sk.cpp btree.h btree.cpp
*作者:盛凯
*完成日期:2017年11月9日
*版本号:v1.0
*
*问题描述:输出所有叶子节点
*输入描述:无
*程序输出:见运行结果
*/
sk.cpp:
#include <stdio.h>
#include "btree.h"
void DispLeaf(BTNode *b)
{
if (b!=NULL)
{
if (b->lchild==NULL && b->rchild==NULL)
printf("%c ",b->data);
else
{
DispLeaf(b->lchild);
DispLeaf(b->rchild);
}
}
}
int main()
{
BTNode *b;
CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))");
printf("二叉树中所有的叶子节点是: ");
DispLeaf(b);
printf("\n");
DestroyBTNode(b);
return 0;
}
总结:本程序还是运用递归思想,分别访问左子树和右子树,直至找到叶子节点。
*Copyright(c)2017,烟台大学计算机学院
*All right reserved.
*文件名:sk.cpp btree.h btree.cpp
*作者:盛凯
*完成日期:2017年11月9日
*版本号:v1.0
*
*问题描述:输出所有叶子节点
*输入描述:无
*程序输出:见运行结果
*/
sk.cpp:
#include <stdio.h>
#include "btree.h"
void DispLeaf(BTNode *b)
{
if (b!=NULL)
{
if (b->lchild==NULL && b->rchild==NULL)
printf("%c ",b->data);
else
{
DispLeaf(b->lchild);
DispLeaf(b->rchild);
}
}
}
int main()
{
BTNode *b;
CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))");
printf("二叉树中所有的叶子节点是: ");
DispLeaf(b);
printf("\n");
DestroyBTNode(b);
return 0;
}
总结:本程序还是运用递归思想,分别访问左子树和右子树,直至找到叶子节点。
相关文章推荐
- 第十周项目3-利用二叉树遍历思想解决问题(2)输出所有叶子节点
- 第十周 项目3-2-输出所有叶子节点
- 第十周项目--【输出所有的叶子节点】
- 第十周项目4 输出所有叶子节点
- 第十周项目4 输出所有叶子节点
- 7-4 输出一棵给定二叉树的所有叶子节点
- 第12周 项目4(5)-输出通过一个节点的所有简单回路
- 第九周项目3(3)- 求二叉树b的叶子节点个数
- 第十二周项目4—②输出通过一个节点的所有简单回路
- 第十二周项目四----利用遍历思想求解图问题之输出通过一个节点的所有简单回路
- 第十二周 项目4 利用遍历思想求解图问题(输出通过一个节点的所有简单回路 )
- 找出所有从根节点到叶子节点路径和等于n的路径并输出
- 二叉树基本操作(输出所有叶子节点到根节点的路径)
- XPath遍历输出XML所有叶子节点
- 每天一道LeetCode-----以字符串的形式输出二叉树所有从根节点到叶子节点的路径
- 第十二周 项目四(5)-输出通过一个节点的所有简单回路
- 找出所有从根节点到叶子节点路径和等于n的路径并输出
- 第十周项目3-利用二叉树遍历思想解决问题(3)求二叉树b的叶子节点个数
- 第十一周项目六 (3+)输出1000以内所有回文素数
- 求从根节点到叶子节点的所有路径组成的数的和