#include<stdio.h>#include<stdlib.h>typedef struct Node //二叉树结构定义{char data;struct Node *lchild;struct Node *rchild;}Bitree;void CreateBiTree(Bitree *&t) //先序遍历创建二叉树{char s;scanf("%c",&s);if(s=='#')t=NULL;else{t=(Bitree *)malloc(sizeof(Node));t->data=s;CreateBiTree(t->lchild);CreateBiTree(t->rchild);}}void Output(Bitree *t) //先序遍历输出二叉树{if(t!=NULL){printf("%c",t->data);Output(t->lchild);Output(t->rchild);}}void main(){Bitree *root;printf("请以先序遍历依次为二叉树赋值:\n");CreateBiTree(root);printf(“输出二叉树:\n”)Output(root);}
1 回答
湖上湖
TA贡献2003条经验 获得超2个赞
这个是指针的引用,也就是指针的别名,函数中的修改作用到外面的root去了
这样生成的二叉树外面的root才能操控
如果去掉&变成传值,函数如何变外面的root也不会变
添加回答
举报
0/150
提交
取消