婆家一码一肖资料

前序遍历、中序遍历和后序遍历是二叉树的三种常用遍历方式。以下是这三种遍历方式的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) {
        cout << root->val << " ";  // 访问当前节点
        preorderTraversal(root->left);  // 递归遍历左子树
        preorderTraversal(root->right); // 递归遍历右子树
    }
}

// 中序遍历
void inorderTraversal(TreeNode* root) {
    if (root != nullptr) {
        inorderTraversal(root->left);   // 递归遍历左子树
        cout << root->val << " ";       // 访问当前节点
        inorderTraversal(root->right);  // 递归遍历右子树
    }
}

// 后序遍历
void postorderTraversal(TreeNode* root) {
    if (root != nullptr) {
        postorderTraversal(root->香港宝典王中王资料介绍 left);   // 递归遍历左子树
        postorderTraversal(root->right);  // 递归遍历右子树
        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);

    // 输出各种遍历结果
    cout << "Preorder Traversal: ";
    preorderTraversal(root);
    cout << endl;

    cout << "Inorder Traversal: ";
    inorderTraversal(root);
    cout << endl;

    cout << "Postorder Traversal: ";
    postorderTraversal(root);
    cout << endl;

    return 0;
}

这个C++程序定义了一个简单的二叉树结构(),并实现了前序遍历、中序遍历和后序遍历的函数。在主函数中,创建了一棵二叉树并输出了这三种遍历方式的结果。

新澳门期期准免费-