中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
镇坪县| 扎鲁特旗| 布拖县| 宝坻区| 射洪县| 武胜县| 长葛市| 门源| 贡嘎县| 聊城市| 天峻县| 崇义县| 镇坪县| 斗六市| 兴隆县| 抚顺县| 柳河县| 敦化市| 梁平县| 自治县| 定边县| 黄平县| 冷水江市| 昌乐县| 全南县| 巨鹿县| 临洮县| 田林县| 新巴尔虎右旗| 海城市| 大理市| 高密市| 新宾| 太康县| 吴堡县| 乌审旗| 邓州市| 景宁| 长白| 鸡东县| 胶州市|