c++

如何实现C++ tree

小樊
83
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
看了该问题的人还看了