C++创建一个二叉树并赋值
时间: 2024-02-04 17:05:15 浏览: 67
好的,下面是一个简单的C++程序,用于创建一个二叉树并赋值:
```c++
#include <iostream>
using namespace std;
// 定义二叉树结构体
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 创建二叉树
void createTree(TreeNode*& root) {
int val;
cin >> val;
if (val == -1) { // 输入-1表示结束
root = NULL;
return;
}
root = new TreeNode(val);
createTree(root->left);
createTree(root->right);
}
int main() {
TreeNode* root;
createTree(root);
return 0;
}
```
程序首先定义了一个二叉树结构体`TreeNode`,包含一个整数值`val`和两个指向左右子树的指针`left`和`right`。然后定义了一个`createTree`函数,用于递归创建二叉树。程序从输入中读入一个整数值`val`,如果`val`为-1,则表示该节点为空,返回`NULL`。否则,创建一个值为`val`的节点,并递归创建左右子树。最后,在`main`函数中调用`createTree`函数创建二叉树。
阅读全文