m0_51376670 2020-10-18 08:21 采纳率: 0%
浏览 31

二叉树的创建与遍历,求大佬指点

#include
#include
#include

struct BiTNode//二叉树结点
{
char data;//定义结点
struct BiTNode*lchild;
struct BiTNode*rchild;//定义左右子树指针
}BiTNode,*bitree;
void CreatBinTree(Bitree t) //按先序序列创建二叉树
{
struct BiTNode*t;
char ch;
scanf("%c",&ch);//按先序次序输入二叉树中的结点的值(字符),‘*’表示空树
ch=getchar();
if(ch=='*')//截至符号为*
{
t==NULL;
}
else
{
t=(struct BiTNode*)malloc(sizeof(struct BiTNode));
t->data=ch;
printf("\n 建立左子树\n");
t->lchild=NULL;
t->rchild=NULL;
CreatBinTree( &((*t)->lchild));
printf("\n 建立右子树\n");
CreatBinTree( &((*t)->rchild));
return t;
}
void PreOrder(struct BiTNode *t)
{
if(t!=NULL)
{
printf("%c",t->data);
PreOrder(t->lchild);
PreOrder(t->rchild);
}
}
void MidOrder(struct BiTNode *t)
{
if(t!=NULL)
{
MidOrder(t->lchild);
printf("%c",t->data);
MidOrder(t->rchild);
}
}
void PostOrder(struct BiTNode *t)
{
if(t!=NULL)
{
PostOrder(t->lchild);
PostOrder(t->rchild);
printf("%c",t->data);
}
}
int main()
{
BiTNode Tree;
Create_BinTNode(&Tree);
printf("\n先序遍历\n");
PreOrder_Traverase(Tree);
printf("\n中序遍历\n");
MidOrder_Traverase(Tree);
printf("\n后序遍历\n");
PostOrder_Traverase(Tree);

return 0;

}

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 15:34
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料