溫馨提示×

c++創建二叉樹的方法是什么

c++
小億
113
2024-03-15 16:47:58
欄目: 編程語言

在C++中,可以通過定義一個二叉樹節點結構體來創建二叉樹。每個節點結構體包含一個值和指向左右子節點的指針。然后可以使用遞歸的方式來構建二叉樹。以下是一個簡單的示例代碼:

#include <iostream>

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};

TreeNode* createBinaryTree() {
    int val;
    std::cin >> val;
    if (val == -1) { // -1表示空節點
        return nullptr;
    }
    
    TreeNode* root = new TreeNode(val);
    std::cout << "Enter left child of " << val << ": ";
    root->left = createBinaryTree();
    std::cout << "Enter right child of " << val << ": ";
    root->right = createBinaryTree();
    
    return root;
}

void inorderTraversal(TreeNode* root) {
    if (root == nullptr) {
        return;
    }
    
    inorderTraversal(root->left);
    std::cout << root->val << " ";
    inorderTraversal(root->right);
}

int main() {
    TreeNode* root = createBinaryTree();
    
    std::cout << "Inorder traversal of the binary tree: ";
    inorderTraversal(root);
    
    return 0;
}

在上面的示例代碼中,首先定義了一個TreeNode結構體表示二叉樹節點,然后使用createBinaryTree函數遞歸地構建二叉樹。用戶輸入樹節點的值,-1表示空節點。最后,使用inorderTraversal函數進行中序遍歷打印出二叉樹的值。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女