如何实现C++ tree

avatar
作者
猴君
阅读量: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函数进行中序遍历输出。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!