完整的先序遍历二叉树的递归算法 的代码
时间: 2024-03-16 20:47:39 浏览: 74
好的,以下是完整的先序遍历二叉树的递归算法的代码:
```c++
#include<iostream>
using namespace std;
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
void preorderTraversal(TreeNode* root) {
if (root == nullptr) return; // 如果节点为空,直接返回
cout << root->val << " "; // 输出当前节点的值
preorderTraversal(root->left); // 递归遍历左子树
preorderTraversal(root->right); // 递归遍历右子树
}
int main() {
// 创建一棵二叉树
TreeNode* root = new TreeNode(1);
root->left = new TreeNode(2);
root->right = new TreeNode(3);
root->left->left = new TreeNode(4);
root->left->right = new TreeNode(5);
root->right->left = new TreeNode(6);
root->right->right = new TreeNode(7);
// 先序遍历二叉树
cout << "先序遍历结果为:";
preorderTraversal(root);
cout << endl;
return 0;
}
```
该代码首先定义了一个二叉树节点结构体,然后实现了先序遍历二叉树的递归算法函数preorderTraversal。最后在main函数中创建一棵二叉树并进行先序遍历。
阅读全文