高手帮忙看下这个数据结构程序哪里有问题,100分

来源:百度知道 编辑:UC知道 时间:2024/05/04 21:40:44
程序编译运行无错,结果却不对。
#include <stdio.h>
#include <stdlib.h>
#define num 100
typedef char DataType;
typedef struct node {
DataType data;
struct node *lchild,*rchild;
}BinTNode;
typedef BinTNode * BinTree;
int found;
BinTNode *p;
BinTree CreateBinTree(BinTree bt)
{
BinTNode * Q[num];
BinTNode * s;
int front ,rear;
char ch;
ch=getchar();bt=NULL;
front=1;rear=0;
while(ch!='#'){
s=NULL;
if(ch!='@'){
s=(BinTNode *)malloc(sizeof(BinTNode));
s->data=ch;
s->lchild=s->rchild=NULL;
}
rear++;
Q[rear]=s;
if(rear==1)
bt=s;
else
{
if(s!=NULL && Q[front]!=NULL)
if(rear % 2==0)
Q[front]->lchild=s;
else
Q[front]->rchild=s;
if(rear % 2 !=0)
front ++;
}
ch=getchar();
}
return bt;

什么提示错误!! 老兄

等我研究好再写,先占个位置
-------------
问题很多!
首先,main函数的第一句
BinTree bt;
指针未初始化就敢拿来用?