如何在C++中实现树节点的遍历

   2024-10-01 7690
核心提示:在C++中实现树节点的遍历可以使用递归或者迭代的方法来实现。以下是使用递归的方法实现树节点的遍历:#include iostream// 定义

在C++中实现树节点的遍历可以使用递归或者迭代的方法来实现。以下是使用递归的方法实现树节点的遍历:

#include <iostream>// 定义树节点结构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;    }    std::cout << root->val << " ";    preorderTraversal(root->left);    preorderTraversal(root->right);}// 中序遍历void inorderTraversal(TreeNode* root) {    if (root == nullptr) {        return;    }    inorderTraversal(root->left);    std::cout << root->val << " ";    inorderTraversal(root->right);}// 后序遍历void postorderTraversal(TreeNode* root) {    if (root == nullptr) {        return;    }    postorderTraversal(root->left);    postorderTraversal(root->right);    std::cout << root->val << " ";}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);    std::cout << "前序遍历结果:";    preorderTraversal(root);    std::cout << std::endl;    std::cout << "中序遍历结果:";    inorderTraversal(root);    std::cout << std::endl;    std::cout << "后序遍历结果:";    postorderTraversal(root);    std::cout << std::endl;    return 0;}

上面的代码演示了如何实现树节点的前序、中序和后序遍历,可以根据需要调用相应的函数实现不同的遍历方式。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号