程序填空题:创建二叉树
创建二叉树。
```c++
#include
using namespace std;
typedef struct BiNode{
char data;
struct BiNode *lchild,*rchild;
}BiTNode,*BiTree;
void CreateBiTree(@@[BiTree &T](2)){
char ch;
cin >> ch;
if(ch=='#') T=NULL;
else{
T=new BiTNode;
T->data=ch;
@@[CreateBiTree(T->lchild)](2);
@@[CreateBiTree(T->rchild)](2);
}
}
void InOrderTraverse(BiTree T){
if(T){
InOrderTraverse(T->lchild);
cout << T->data;
InOrderTraverse(T->rchild);
}
}
int main(){
BiTree tree;
CreateBiTree(tree);
InOrderTraverse(tree);
return 0;
}
```
答案:
第1空:BiTree &T
第2空:CreateBiTree(T->lchild)
第3空:CreateBiTree(T->rchild)
```c++
#include
using namespace std;
typedef struct BiNode{
char data;
struct BiNode *lchild,*rchild;
}BiTNode,*BiTree;
void CreateBiTree(@@[BiTree &T](2)){
char ch;
cin >> ch;
if(ch=='#') T=NULL;
else{
T=new BiTNode;
T->data=ch;
@@[CreateBiTree(T->lchild)](2);
@@[CreateBiTree(T->rchild)](2);
}
}
void InOrderTraverse(BiTree T){
if(T){
InOrderTraverse(T->lchild);
cout << T->data;
InOrderTraverse(T->rchild);
}
}
int main(){
BiTree tree;
CreateBiTree(tree);
InOrderTraverse(tree);
return 0;
}
```
答案:
第1空:BiTree &T
第2空:CreateBiTree(T->lchild)
第3空:CreateBiTree(T->rchild)