前序遍历二叉树 要完整c++代码
时间: 2024-09-12 09:02:25 浏览: 35
前序遍历是一种访问二叉树节点的顺序,首先访问根节点,然后递归地访问左子树,最后访问右子树。以下是使用C++实现的前序遍历二叉树的简单示例:
```cpp
#include <iostream>
// 定义二叉树结点结构体
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 前序遍历函数
void preorderTraversal(TreeNode* root) {
if (root != NULL) { // 如果节点非空
std::cout << root->val << " "; // 访问当前节点
preorderTraversal(root->left); // 递归遍历左子树
preorderTraversal(root->right); // 递归遍历右子树
}
}
int main() {
// 创建一个简单的二叉树实例,这里仅做演示
TreeNode* tree = new TreeNode(1);
tree->left = new TreeNode(2);
tree->right = new TreeNode(3);
tree->left->left = new TreeNode(4);
tree->left->right = new TreeNode(5);
std::cout << "前序遍历结果: ";
preorderTraversal(tree);
return 0;
}
```
在这个例子中,`preorderTraversal`函数接收一个指向根节点的指针,并按前序的方式打印出每个节点的值。在`main`函数中,我们创建了一个小规模的二叉树并进行了前序遍历。
阅读全文