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

溫馨提示×

如何實現C++ tree

c++
小樊
96
2024-08-13 11:45:36
欄目: 編程語言

在C++中實現樹的一種常見方法是使用節點結構體來表示樹的每個節點,并使用指針來連接節點之間的關系。下面是一個簡單的示例來實現一個二叉樹:

#include <iostream>

// 定義樹的節點結構體
struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};

// 插入節點函數
void insert(TreeNode*& root, int val) {
    if (root == nullptr) {
        root = new TreeNode(val);
    } else {
        if (val < root->val) {
            insert(root->left, val);
        } else {
            insert(root->right, val);
        }
    }
}

// 中序遍歷函數
void inorder(TreeNode* root) {
    if (root == nullptr) {
        return;
    }
    inorder(root->left);
    std::cout << root->val << " ";
    inorder(root->right);
}

int main() {
    TreeNode* root = nullptr;
    insert(root, 5);
    insert(root, 3);
    insert(root, 7);
    insert(root, 2);
    insert(root, 4);

    std::cout << "Inorder traversal: ";
    inorder(root);
    std::cout << std::endl;

    return 0;
}

在以上示例中,我們定義了一個TreeNode結構體來表示樹的節點,并實現了插入節點和中序遍歷的函數。通過不斷調用insert函數,我們可以構建一顆二叉樹,并通過inorder函數進行中序遍歷輸出。

0
墨竹工卡县| 甘南县| 原阳县| 旬阳县| 抚宁县| 枝江市| 阳谷县| 正镶白旗| 多伦县| 富蕴县| 汨罗市| 句容市| 泸西县| 临清市| 精河县| 杭锦后旗| 岳池县| 青海省| 峡江县| 三亚市| 扬州市| 辽阳县| 固镇县| 罗田县| 德保县| 崇左市| 阳谷县| 云和县| 建湖县| 安泽县| 河西区| 乌苏市| 章丘市| 偏关县| 合江县| 长乐市| 大足县| 黄山市| 邛崃市| 麦盖提县| 安乡县|