#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct Btreenode{
char data;
struct Btreenode *lchlid;
struct Btreenode *rchlid;
}BiNode,*BiTree;
//递归方法创建树
BiTree CreatBitree(void)
{
char ch;
BiTree T;
scanf("%c",&ch);
if(ch=='#')
{
return NULL;
}
else
{
T=(BiTree)malloc(sizeof(BiNode));
if(NULL==T)
{
perror("fail to malloc!\n");
exit(-1);
}
T->data=ch;
T->lchlid=CreatBitree();
T->rchlid=CreatBitree();
}
return T;
}
//创建树(另外方法)
void Creat_Bitree(BiTree *T)
{
char ch;
scanf("%c",&ch);
if('#'==ch)
{
return;
}
else
{
(*T)=(BiTree)malloc(sizeof(BiNode));
if(NULL==(*T))
{
perror("malloc failed!\n");
exit(-1);
}
(*T)->data=ch;
Creat_Bitree(&((*T)->lchlid));
Creat_Bitree(&((*T)->rchlid));
}
}
//先序遍历
void Preoder(BiTree t)
{
if(t!=NU
树代码(递归)
最新推荐文章于 2023-07-11 11:14:49 发布