输出叶子结点

#include<iostream.h>
#include<malloc.h>
typedef struct BiNode
{
char data;
struct BiNode *lchild,*rchild;
}BiNode,*BiTree;


void createBiTree(BiTree &T);
void DisDeaf(BiTree T);


void createBiTree(BiTree &T)
{
char ch;
cin>>ch;
if(ch=='#')
T=NULL;
else
{
T=(BiTree)malloc(sizeof(BiNode));
T->data=ch;
T->lchild=T->rchild=NULL;
createBiTree(T->lchild);
createBiTree(T->rchild);
}
}


void DisDeaf(BiTree T)
{
if(T!=NULL)
{
if(T->lchild==NULL&&T->rchild==NULL)
cout<<T->data;
cout<<' ';
DisDeaf(T->lchild);
DisDeaf(T->rchild);
}
}


int main()
{
cout<<endl<<"*******链式存储结构的二叉树输出叶子结点**********"<<endl<<endl;
BiTree T=NULL;
cout<<"创建二叉树(前序输入)"<<endl;
createBiTree(T);
cout<<"树中有以下叶子结点:"<<endl;
DisDeaf(T);
cout<<endl;
return 0;

}

猜你喜欢

转载自blog.csdn.net/weixin_41939516/article/details/80811149