c++创建二叉树的方法是什么

avatar
作者
筋斗云
阅读量:0

在C++中,可以通过定义一个二叉树节点结构体来创建二叉树。每个节点结构体包含一个值和指向左右子节点的指针。然后可以使用递归的方式来构建二叉树。以下是一个简单的示例代码:

#include <iostream>  struct TreeNode {     int val;     TreeNode* left;     TreeNode* right;     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} };  TreeNode* createBinaryTree() {     int val;     std::cin >> val;     if (val == -1) { // -1表示空节点         return nullptr;     }          TreeNode* root = new TreeNode(val);     std::cout << "Enter left child of " << val << ": ";     root->left = createBinaryTree();     std::cout << "Enter right child of " << val << ": ";     root->right = createBinaryTree();          return root; }  void inorderTraversal(TreeNode* root) {     if (root == nullptr) {         return;     }          inorderTraversal(root->left);     std::cout << root->val << " ";     inorderTraversal(root->right); }  int main() {     TreeNode* root = createBinaryTree();          std::cout << "Inorder traversal of the binary tree: ";     inorderTraversal(root);          return 0; } 

在上面的示例代码中,首先定义了一个TreeNode结构体表示二叉树节点,然后使用createBinaryTree函数递归地构建二叉树。用户输入树节点的值,-1表示空节点。最后,使用inorderTraversal函数进行中序遍历打印出二叉树的值。

广告一刻

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