关于二叉树的生成的注意事项
#生成时的注意事项
##利用递归方法时,我们通常会用到三种方法,来保证对子树的指针进行调用的时候,能够改变子树指针的存储地址值。
#1.使用引用的方法
1. int CreateBiTree(BiTree &T){
2. char data;
3. //按先序次序输入二叉树中结点的值(一个字符),‘#’表示空树
4. scanf("%c",&data);
5. if(data == '#'){
6. T = NULL;
7. }
8. else{
9. T = (BiTree)malloc(sizeof(BiTNode));
10. //生成根结点
11. T->data = data;
12. //构造左子树
13. CreateBiTree(T->lchild);
14. //构造右子树
15. CreateBiTree(T->rchild);
16. }
17. return 0;
18. }
19.
2.可以利用二级指针进行操作,将
1. int CreateBiTree(BiTree **T){
2. char data;
3. //按先序次序输入二叉树中结点的值(一个字符),‘#’表示空树
4. scanf("%c",&data);
5. if(data == '#'){
6. *T = NULL;
7. }
8. else{
9. *T = (BiTree)malloc(sizeof(BiTNode));
10. //生成根结点
11. *T->data = data;
12. //构造左子树
13. CreateBiTree(&(*T->lchild));
14