创建二叉树出问题,求各位大侠帮忙看看! #include <stdio.h> #include <malloc.h> typedef char Elemtype

2025-01-05 19:11:21
推荐回答(1个)
回答1:

在CreateBitTree时传入参数时,如果传入的是Bitree,那就要确保其非NULL。
如果可能传入NULL(按照你的代码,可以肯定是传入NULL),并在CreateBitTree里分配内存,必须传入一个Bitree的指针或引用。否则你分配的新节点将仅仅被当前形参T所指向,而不被父节点的lchild或者rchild指向。

简单地修改是,将CreateBiTree (Bitree T) 改成CreateBiTree (Bitree &T)
如果是纯C,那么改成CreateBiTree (Bitree *T)然后函数体中用到T的都改成(*T)