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

avatar
作者
筋斗云
阅读量:0

在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; } 

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!