123
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode, *BiTree;
void CreateBiTree(BiTree *T)
{
char c;
scanf("%c",&c);
if(c=='#'){
*T=NULL;}
else{
*T=(BiTNode*)malloc(sizeof(BiTNode));
(*T)->data=c;
CreateBiTree(&((*T)->lchild));
CreateBiTree(&((*T)->rchild));
}
}
void InOrderTraverse(BiTree T)
{
if(T)
{
InOrderTraverse(T->lchild);
printf("%c",T->data);
InOrderTraverse(T->rchild);
}
}
void PostOrderTravese(BiTree T)
{
if(T)
{
PostOrderTravese(T->lchild);
PostOrderTravese(T->rchild);
printf("%c",T->data);
}
}
int RegularBiTree(BiTree T)
{
if(T->lchild&&T->rchild)
{
RegularBiTree(T->lchild);
RegularBiTree(T->rchild);
}
else if((T->lchild==NULL)&&(T->rchild==NULL))
{
return 1;
}
else
return 0;
}
void main(){
BiTree T=NULL;
CreateBiTree(&T);
printf("中序遍历为:\n");
InOrderTraverse(T);
printf("\n");
printf("后序遍历为:\n");
PostOrderTravese(T);
printf("\n");
RegularBiTree(T);
if(RegularBiTree(T))
printf("该二叉树是正则二叉树");
else
printf("该二叉树不是正则二叉树");
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步