一串字符串:ABC空格空格DE空格GF空格空格空格
用先序创建二叉树。
#include <stdio.h>
#include <stdlib.h>
#define maxsize 100
//递归法创建二叉树
//规则:对一串字符串挨个读取遇到空格完成对当前树的创建
typedef struct BimaryTree {
char data;
struct BimaryTree *Lchild;
struct BimaryTree *Rchild;
}BiTree;
int count = 0;//显示节点的个数
char str[maxsize];
void creatTree(BiTree *&T) {
char *ch=str;
int i = 0;
if (ch[i] == ' ') {
T = NULL;
}
else {
if (!(T = (BiTree *)malloc(sizeof(BimaryTree)))) {//问题就在这if内的语句无法执行 各位神我这语句有什么问题吗?
T->data = ch[i];
i++; count++;
creatTree(T->Lchild);
creatTree(T->Rchild);
}
}
return;
}
int main() {
BiTree *T;
printf("请输入一串字符串!完成对二叉树的创建!");
scanf("%s", str);
creatTree(T);
printf("%d", count);
system("pause");
return 0;
}