91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
金堂县| 松潘县| 锡林郭勒盟| 新平| 抚远县| 凭祥市| 鹤山市| 平塘县| 沙洋县| 洛宁县| 彭泽县| 凤城市| 秭归县| 固始县| 长沙市| 团风县| 资讯| 兰考县| 兰州市| 南宫市| 安溪县| 阿巴嘎旗| 包头市| 南平市| 临沧市| 历史| 灵石县| 新丰县| 米易县| 塘沽区| 磐石市| 丹东市| 黑龙江省| 界首市| 抚州市| 天长市| 胶州市| 博兴县| 化隆| 孝义市| 突泉县|