关于昨天那个二叉树的帖子
昨天看到有人发了个二叉树的帖子,因为自己也不太熟,所以拿来练了练手,带来几个疑惑,希望大家能讨论讨论,帮我解决一下,谢谢各位了
下面帖子上注释写的我的问题
#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct BiNode{ char data; struct BiNode *lchild,*rchild;}BiNode,*BiTree;void CreateBiTree(BiTree &T) /*这个地方加了个&符号,我在gcc下编译会出错,所以我想问下大家,这个&符号有没有问题,当然我也查了下,发现很多C++代码里写了这个 */{ char ch; ch=getchar(); fflush(stdin); //这句话是我加的,我觉得有必要,不然输入有回车字符残留,程序会直接跳出 if(ch!='\n') { if(ch=='#') T=NULL; else { T=(BiTree)malloc(sizeof(BiNode)); /*在这个地方动态分配内存空间,是否能起到给 传址的树分配,我测试了我觉得不能*/ T->data=ch; CreateBiTree(T->lchild); CreateBiTree(T->rchild); } }}void Xianxu(BiTree T){ if(T) { printf("%c",T->data); Xianxu(T->lchild); Xianxu(T->rchild); }}int main(){ BiTree T; printf("请输入:\n"); CreateBiTree(T); Xianxu(T); return 0;}