//按先序次序输入二叉树中结点的值 // 构造二叉链表表示的二叉树T。变量Nil表示空(子)树
时间: 2023-07-31 15:12:39 浏览: 144
以下是按照先序次序输入二叉树结点值,并构造为二叉链表表示的二叉树的代码,其中变量 Nil 表示空(子)树:
```
#include <iostream>
using namespace std;
typedef char ElementType; // 假设结点值为字符类型
// 二叉树结点的定义
typedef struct TreeNode {
ElementType val; // 结点值
struct TreeNode *left; // 左子树指针
struct TreeNode *right; // 右子树指针
} TreeNode, *PtrToNode;
// 构造二叉树的函数
PtrToNode BuildTree() {
ElementType val;
PtrToNode root;
cin >> val;
if (val == Nil) { // 空结点
root = NULL;
} else {
root = new TreeNode;
root->val = val;
root->left = BuildTree(); // 构造左子树
root->right = BuildTree(); // 构造右子树
}
return root;
}
int main() {
PtrToNode root = BuildTree(); // 构造二叉树
return 0;
}
```
在输入结点值时,如果输入的是 `Nil`,则表示该结点为空(子)树。如果输入的是其他字符,则会创建一个新的结点,并将该字符作为结点的值。然后递归调用 `BuildTree()` 函数,构造左子树和右子树,最后返回根结点指针。
阅读全文