创建二叉树的二叉链表
时间: 2024-06-20 17:02:51 浏览: 102
二叉树的二叉链表实现
二叉链表是一种常见的二叉树存储结构,它由指向左右子树的指针和一个数据元素组成。在创建二叉树的二叉链表时,我们需要定义一个结构体来表示节点,并使用指针变量来指向每个节点的左右子树。
下面是一个示例代码,用于创建二叉树的二叉链表:
```
#include <iostream>
using namespace std;
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
TreeNode* createBinaryTree() {
int val;
cin >> val;
if (val == -1) { // 输入-1表示该节点为空
return nullptr;
}
TreeNode* root = new TreeNode(val);
root->left = createBinaryTree();
root->right = createBinaryTree();
return root;
}
int main() {
cout << "请输入二叉树的节点,以-1表示该节点为空:" << endl;
TreeNode* root = createBinaryTree();
return 0;
}
```
在上面的代码中,我们通过递归的方式来创建二叉树的二叉链表。当输入-1时,表示该节点为空,返回nullptr。否则,我们会创建一个新的节点,并将左右子树指向递归调用createBinaryTree函数返回的结果。
阅读全文