-->
当前位置:首页 > 题库 > 正文内容

函数题:二叉树 - 5. 输入二叉树

Luz4年前 (2021-05-10)题库903
请编写函数,输入二叉树。

#### 函数原型

```c
// 输入二叉树
void BinTreeInput(TNODE **root);
// 输入二叉树(内部递归)
static void BinTreeInput1(TNODE **root);
```

说明:`root`为指向二叉树或子树的根指针的指针。
- BinTreeInput 函数是供外部用户使用的函数。
- BinTreeInput1 函数是供内部使用的递归函数。

提示:
- BinTreeInput 在输入之前应先调用 BinTreeClear 清空二叉树以确保不发生内存泄漏,然后再调用 BinTreeInput1 输入二叉树。
- BinTreeInput1 输入二叉树时按先根遍历顺序输入结点的值,用特殊字符 '#' 来表示空树。

在头文件 *BinTree.h* 添加函数声明。

*BinTree.h*
```c
#ifndef _BinTree_h_
#define _BinTree_h_

......

// 输入二叉树
void BinTreeInput(TNODE **root);

#endif
```

在程序文件 *BinTree.c* 中声明内部递归函数,并添加这两个函数的定义。

*BinTree.c*
```
#include
#include
#include "BinTree.h"

// 输入二叉树(内部递归)
static void BinTreeInput1(TNODE **root);

......

/* 你提交的代码将被嵌在这里 */
```

#### 裁判程序

*main.c*
```c++
#include
#include "BinTree.h"

int main()
{
TNODE *r;
BinTreeCreate(&r);
BinTreeInput(&r);
......
BinTreeDestroy(&r);
return 0;
}
```



#### 输入样例
```
EIBJ##H###DF#A##G#C##
```






答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。