一、二叉树的结点BintreeNode成员
二叉树结点类型中的成员:数据域、左子树、右子树
二叉树类型:只要知道一个根节点root,就可以对整个二叉树结构清晰了解,也可以设置一个结束标识符stop_flag。
初始化二叉树:init_bintree()
二、创建二叉树
1.创建二叉树函数,无返回值,设置标识符以标识符结束
首先给一个接口函数,通过把二叉树传进来, void create_bintree(Bintree bt,ElemType flag),再把二叉树的根节点传出去
然后再给一个创建函数,通过对二叉树额根节点进行操作,主要思想利用递归,输入为'#',返回NULL,否者创建结点,然后以这个结点为根节点进行左子树的创建,再进行右子树的创建
注意:此时传进来的变量类型是指向节点类型的指针类型,并且要通过该函数对二叉树进行创建(也就是说要通过形参改变实参:两种方式 1引用2传址)这里的实参是一个指向结点类型的指针类型,所以说,要通过形参对实参改变传地址,或者引用。
2.创建标识符,函数无返回值,以字符串传递
首先一个接口函数,把二叉树和字符串传进来,再把二叉树的根节点传出去
如果字符串不为'\0'或者不为'#'就开辟空间给data赋值,然后递归
3.返回二叉树根节点
首先一个接口函数,把二叉树和字符串传进来,再把二叉树的根节点传出去
如果二叉树的根节点为NULL,直接return NULL,如果字符串不为'\0'或者不为 '#' 就开辟空间给data赋值,然后递归
如果刚传进来的根节点为空,直接结束主函数,如果刚开始走else分支的话,再给左分支创建利用递归,如果走if分支,直接返回给t->liftChild,然后再创建右子树,以此类推。。。。。。