如何用c++创建二叉树
时间: 2023-06-03 08:05:56 浏览: 108
C++创建二叉树及操作
可以使用C语言的结构体来创建二叉树。首先定义一个包含左孩子、右孩子、节点值的结构体,然后根据需要递归创建节点并设置左右孩子指针。
代码示例:
```
typedef struct TreeNode {
int val;
struct TreeNode* left;
struct TreeNode* right;
} TreeNode;
TreeNode* createTree(int* arr, int len, int index) {
if (index >= len || arr[index] == -1) {
return NULL;
}
TreeNode* root = (TreeNode*)malloc(sizeof(TreeNode));
root->val = arr[index];
root->left = createTree(arr, len, 2 * index + 1);
root->right = createTree(arr, len, 2 * index + 2);
return root;
}
int main() {
int arr[] = {1, 2, 3, 4, -1, 5, 6};
int len = sizeof(arr) / sizeof(arr[0]);
TreeNode* root = createTree(arr, len, 0);
return 0;
}
```
这段代码会创建一个如下图所示的二叉树:
```
1
/ \
2 3
/ / \
4 5 6
```
其中,-1代表空节点。
阅读全文