亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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

c++
小億
93
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
沂水县| 揭阳市| 左贡县| 田东县| 班玛县| 澄江县| 民勤县| 昌平区| 芮城县| 盖州市| 抚宁县| 平遥县| 雷波县| 静海县| 焦作市| 余庆县| 城市| 鄂托克旗| 云南省| 六盘水市| 秦安县| 罗城| 宽甸| 观塘区| 晋城| 文水县| 宜兴市| 浙江省| 逊克县| 勃利县| 青海省| 志丹县| 茌平县| 彩票| 大竹县| 寿光市| 岚皋县| 星子县| 承德市| 冷水江市| 满城县|