阅读量:0
在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
函数进行中序遍历输出。