用c++写一段用前序遍历二叉树
以下是一个使用C++编写的前序遍历二叉树的示例代码:
#include <iostream>
using namespace std;
// 二叉树节点的定义
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 前序遍历二叉树的函数
void preorderTraversal(TreeNode* root) {
if (root == NULL) {
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);
// 前序遍历二叉树
cout << "前序遍历结果:";
preorderTraversal(root);
return 0;
}
输出结果为:
前序遍历结果:1 2 4 5 3
该代码中,首先定义了一个二叉树的节点结构TreeNode,包含一个整数值val,以及左右子节点的指针。然后定义了一个前序遍历二叉树的函数preorderTraversal,该函数会先输出当前节点的值,然后递归遍历左子树和右子树。在main函数中,构造了一棵二叉树并调用preorderTraversal函数进行前序遍历
原文地址: http://www.cveoy.top/t/topic/h4lI 著作权归作者所有。请勿转载和采集!