C语言创建二叉树并遍历二叉树,求问大神我的代码哪里错了
谢谢谢谢#include<stdio.h>#include<stdlib.h>typedefstructNode{chardata;structNode*LChild;s...
谢谢谢谢
#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
char data;
struct Node *LChild;
struct Node *RChild;
}BiTNode,*BiTree;
void PreOrder(BiTree root)
{
if(root!=NULL)
{
printf("%c",root->data);
PreOrder(root->LChild);
PreOrder(root->RChild);
}
}
void InOrder(BiTree root)
{
if(root!=NULL)
{
InOrder(root->LChild);
printf("%c",root->data);
InOrder(root->RChild);
}
}
void PostOrder(BiTree root)
{
if(root!=NULL)
{
PostOrder(root->LChild);
PostOrder(root->RChild);
printf("%c",root->data);
}
}
void Creat(BiTree *bt)
{
char c;
c=getchar();
getchar();
if(c==' ')
*bt=NULL;
else
{
*bt=(BiTree)malloc(sizeof(BiTNode));
(*bt)->data=c;
Creat(&((*bt)->LChild));
Creat(&((*bt)->RChild));
}
}
int main()
{
BiTree bt;
printf("请输入您要创建的二叉树数据:\n");
Creat(&bt);
PreOrder(bt);
return 0;
} 展开
#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
char data;
struct Node *LChild;
struct Node *RChild;
}BiTNode,*BiTree;
void PreOrder(BiTree root)
{
if(root!=NULL)
{
printf("%c",root->data);
PreOrder(root->LChild);
PreOrder(root->RChild);
}
}
void InOrder(BiTree root)
{
if(root!=NULL)
{
InOrder(root->LChild);
printf("%c",root->data);
InOrder(root->RChild);
}
}
void PostOrder(BiTree root)
{
if(root!=NULL)
{
PostOrder(root->LChild);
PostOrder(root->RChild);
printf("%c",root->data);
}
}
void Creat(BiTree *bt)
{
char c;
c=getchar();
getchar();
if(c==' ')
*bt=NULL;
else
{
*bt=(BiTree)malloc(sizeof(BiTNode));
(*bt)->data=c;
Creat(&((*bt)->LChild));
Creat(&((*bt)->RChild));
}
}
int main()
{
BiTree bt;
printf("请输入您要创建的二叉树数据:\n");
Creat(&bt);
PreOrder(bt);
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询