您的位置:首页 > 理论基础 > 数据结构算法

7-4 输出一棵给定二叉树的所有叶子节点

2018-03-06 23:30 585 查看
//输出一棵给定二叉树的所有叶子节点
#include "btree.cpp"
void DispLeaf(BTNode *b)
{
if (b!=NULL)
{
if (b->lchild==NULL && b->rchild==NULL)
printf("%c ",b->data);	//访问叶子节点
DispLeaf(b->lchild);		//输出左子树中的叶子节点
DispLeaf(b->rchild);		//输出右子树中的叶子节点
}
}
void DispLeaf1(BTNode *b)
{
if (b!=NULL)
{
if (b->lchild==NULL && b->rchild==NULL)
printf("%c ",b->data);	//访问叶子节点
DispLeaf1(b->rchild);		//输出右子树中的叶子节点
DispLeaf1(b->lchild);		//输出左子树中的叶子节点
}
}
int main()
{
BTNode *b;
CreateBTree(b,"A(B(D(,G)),C(E,F))");
printf("b:");DispBTree(b);printf("\n");
printf("从左到右输出所有叶子节点:");DispLeaf(b);printf("\n");
printf("从右到左输出所有叶子节点:");DispLeaf1(b);printf("\n");
DestroyBTree(b);
return 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐