21xrx.com
2025-01-03 18:05:20 Friday
登录
文章检索 我的文章 写文章
C++实现二叉树的建立代码
2023-07-13 01:22:43 深夜i     --     --
C++ 二叉树 建立 代码

二叉树是数据结构中比较常见的一种,其实现可以使用不同的编程语言,比如C++。在C++中,二叉树可以使用指针和递归的方式进行建立。下面是二叉树的建立代码示例:


struct TreeNode {

  int val;

  TreeNode* left;

  TreeNode* right;

  TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}

};

void buildTree(TreeNode*& root) {

  int x;

  std::cin >> x;

  if (x == -1)

    root = nullptr;

    return;

  

  root = new TreeNode(x);

  buildTree(root->left);

  buildTree(root->right);

}

在这段代码中,我们首先定义了一个`struct`结构体`TreeNode`,用于表示二叉树的节点。其中,`val`表示节点的值,`left`表示左子树,`right`表示右子树。

接着,我们定义了`buildTree`函数,该函数用于递归构建二叉树。函数的参数为指向`TreeNode`结构体的指针`root`,表示当前的根节点。

在函数中,我们首先通过`std::cin`输入一个整数`x`,如果`x`为-1,则表示当前节点为叶节点,令其指向`nullptr`并返回;否则,我们新建一个节点,并将`x`赋给该节点的`val`属性。接着,我们递归调用`buildTree`函数,将当前节点的`left`和`right`指向左右子树的根节点。

需要注意的是,函数的参数中使用了指向`TreeNode`结构体的指针的指针`TreeNode*&`,这是为了在函数中改变指向根节点的指针的指向。

二叉树的建立是二叉树基本操作中比较重要的一步,通过上述代码,我们可以使用C++来建立二叉树,便于后续的二叉树操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复