c++二叉树遍历创建
时间: 2023-11-26 10:46:48 浏览: 82
建立遍历二叉树C++
以下是C++中二叉树的创建和前序遍历的递归实现:
二叉树节点结构:
```cpp
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
```
二叉树的创建:
```cpp
TreeNode* createBinaryTree() {
int val;
cin >> val;
if (val == -1) { // -1表示空节点
return NULL;
}
TreeNode* root = new TreeNode(val);
root->left = createBinaryTree();
root->right = createBinaryTree();
return root;
}
```
前序遍历的递归实现:
```cpp
void preorderRecursive(TreeNode* root) {
if (root == NULL) {
return;
}
cout << root->val << " ";
preorderRecursive(root->left);
preorderRecursive(root->right);
}
```
以上代码实现了二叉树的创建和前序遍历的递归实现。在创建二叉树时,输入-1表示空节点。在前序遍历中,先访问当前节点,然后递归遍历左子树,最后递归遍历右子树。
阅读全文