此函数是一个选择性的回调函数,在输入的节点的编号不是#会一直调用自己,直到左子树和右子树都为#时才不会继续回调
首先定义一个用来保存的输入结果的临时的字符变量
如果输入的字符为#,返回空指针,结束函数
定义一个节点数据类型的指针变量,用malloc在堆区开辟空间,注意需要进行数据类型转换(创建根节点)
给指针变量中的保存编号的整型变量成员赋上所输入的值(设置编号)
给节点的左子树赋上编号
给节点的右子树赋上编号
返回当前节点的地址
为方便对应,贴上源码
//所有的二叉树的创建方式(不管是完全还是其他都可以使用)
bitree *BitreeCreateUnTotal()
{
char ch;
scanf("%c", &ch);
if(ch == '#')
{
return NULL;
}
//先创建根节点并设置编号
bitree *root = (bitree *)malloc(sizeof(bitree));
root->data = ch;
root->pLchild = BitreeCreateUnTotal();
root->pRchild = BitreeCreateUnTotal();
return