|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一个二叉树建立与遍历的程序,无法输出。代码如下(主函数中我为了验证方便只写了一个函数,但是这3个遍历函数我都实验过,都无法输出)
输入格式为:6 2 1 0 0 4 3 0 0 0 8 0 0
#include <stdio.h>
#include <stdlib.h>
typedef struct Treenode
{
int data;
struct Treenode *left,*right;
}Tree,*pTree;
void createTree(pTree T)
{
int ch;
printf("请输入字符:");
scanf("%d",&ch);
if(ch==0)
T=NULL;
else
{
T=(pTree)malloc(sizeof(Tree));
T->data=ch;
printf("请输入左子树");
createTree(T->left);
printf("请输入右子树");
createTree(T->right);
}
}
void xianxubianli(pTree T)
{
if(T!=NULL)
{
printf("%d\n",T->data);
xianxubianli(T->left);
xianxubianli(T->right);
}
}
void zhongxubianli(pTree T)
{
if(T!=NULL)
{
zhongxubianli(T->left);
printf("%d\n",T->data);
zhongxubianli(T->right);
}
}
void houxupaixu(pTree T)
{
if(T!=NULL)
{
houxupaixu(T->left);
houxupaixu(T->right);
printf("%d\n",T->data);
}
}
int main()
{
pTree T=NULL;
createTree(T);
zhongxubianli(T);
}
语法绝对不会有问题,我这儿可以正常运行,应该是编译器的问题
|
|