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

溫馨提示×

c++二叉樹建立和遍歷的方法是什么

c++
小億
83
2024-02-28 15:43:18
欄目: 編程語言

在C++中,可以通過定義一個二叉樹節點的結構體來表示二叉樹節點,然后通過遞歸的方式來建立和遍歷二叉樹。

以下是一個示例代碼:

#include <iostream>

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

void insert(TreeNode* &root, int data) {
    if (root == nullptr) {
        root = new TreeNode(data);
    } else {
        if (data < root->data) {
            insert(root->left, data);
        } else {
            insert(root->right, data);
        }
    }
}

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

int main() {
    TreeNode* root = nullptr;
    int arr[] = {5, 3, 8, 2, 4, 7, 9};
    for (int num : arr) {
        insert(root, num);
    }

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

    return 0;
}

在上面的代碼中,定義了一個二叉樹節點結構體TreeNode,包含數據域data以及左右子節點指針leftright。然后通過insert函數遞歸地插入節點來建立二叉樹,通過inorderTraversal函數進行中序遍歷輸出二叉樹中的所有節點數據。

可以根據需要修改代碼實現其他遍歷方式,如前序遍歷和后序遍歷。

0
阿拉善盟| 石泉县| 双辽市| 观塘区| 东海县| 永新县| 龙井市| 齐齐哈尔市| 鄱阳县| 西宁市| 堆龙德庆县| 疏勒县| 万年县| 敦煌市| 即墨市| 玛多县| 开化县| 怀化市| 哈密市| 额尔古纳市| 灵川县| 晴隆县| 于田县| 榆社县| 邳州市| 遂平县| 枣庄市| 寿光市| 东台市| 女性| 麻阳| 贵德县| 应城市| 盘锦市| 辽阳市| 湟源县| 长葛市| 塔城市| 浮梁县| 临潭县| 凤台县|