c++前序遍历创建二叉树
时间: 2024-08-15 09:01:33 浏览: 36
满二叉树的前序遍历C++实现
在C++中,我们可以通过定义一个二叉树节点的结构体来创建二叉树。结构体中包含了节点的值以及左右子节点的指针。具体实现过程如下:
1. 定义二叉树节点的结构体:
```
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
```
2. 创建一个前序遍历的数组,用于构造二叉树:
```
int preOrder[] = {1, 2, 4, 5, 3, 6, 7};
```
3. 定义一个递归函数,用于构造二叉树:
```
TreeNode* buildTree(int preOrder[], int start, int end) {
if (start > end) {
return NULL;
}
TreeNode* root = new TreeNode(preOrder[start]);
int mid = start + (end - start) / 2;
root->left = buildTree(preOrder, start + 1, mid);
root->right = buildTree(preOrder, mid + 1, end);
return root;
}
```
4. 调用递归函数,构造二叉树:
```
TreeNode* root = buildTree(preOrder, 0, 6);
```
这样就可以通过前序遍历的方式创建一个满二叉树了。具体实现过程中,我们可以根据需要修改节点的值以及数组的内容来构造不同的二叉树。
阅读全文