|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
要建立一个二叉树,如果两个子节点都是#则结束,为什么这个程序在DEVC++下面运行会出错~输入AB##C##时会报错
#include"stdio.h"
#include"stdlib.h"
#define ElemType char
typedef struct BiNode{
ElemType data;
struct BiNode *lchild, *rchild;
}BiNode,*BiTree;
void CreateBiTree(BiTree *T){ //用扩展二叉树实现
char ch;
scanf("%c", &ch);
if(ch=='#') (*T)=NULL;
else{
(*T)=(BiTree)malloc(sizeof(BiTree));
(*T)->data=ch;
printf("%c ",(*T)->data);
CreateBiTree(&((*T)->lchild));
CreateBiTree(&((*T)->rchild));
}
}
void InTraverse(BiTree *B){ //中序遍历的递归算法
if((*B)!=NULL){
InTraverse(&((*B)->lchild));
printf("%c",(*B)->data);
InTraverse(&((*B)->rchild));
}
}
int main(){
BiTree T;
CreateBiTree(&T);
InTraverse(&T);
system("pause");
return 0;
}
= =!帮我看一下 |
|