#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
提交
取消