21xrx.com
2024-12-27 04:45:13 Friday
登录
文章检索 我的文章 写文章
C++代码:建立二叉树
2023-07-09 18:07:15 深夜i     --     --
C++ 二叉树 建立 节点 遍历

二叉树是计算机科学领域中常用的一种数据结构,它是由多个节点构成的树形结构,其中每个节点最多只有两个子节点。在C++中,我们可以通过编写代码来建立二叉树。

首先,我们需要定义一个二叉树节点的结构体,其中包含三个成员变量:数据、左子节点指针、右子节点指针。


struct TreeNode{

  int val;

  TreeNode* left;

  TreeNode* right;

};

接着,我们可以编写一个递归函数来构建二叉树。该函数的参数包括二叉树节点指针和一个整型数组,表示二叉树的数据。


TreeNode* buildTree(vector<int>& nums, int left, int right){

  if(left > right)

    return nullptr;

  

  int mid = (left + right) / 2;

  TreeNode* node = new TreeNode(nums[mid]);

  node -> left = buildTree(nums, left, mid-1);

  node -> right = buildTree(nums, mid+1, right);

  return node;

}

在该函数中,我们首先判断左右指针是否越界。若越界则返回空指针。否则,我们计算出当前数组的中间位置,将中间位置的数据作为根节点,递归调用该函数来建立左子树和右子树,最后返回根节点指针。

最后,我们可以通过调用上述函数来构建二叉树,代码如下:


vector<int> nums = 5;

TreeNode* root = buildTree(nums, 0, nums.size()-1);

在该代码中,我们定义一个数组nums来存储二叉树数据,然后调用buildTree函数来建立二叉树,最后返回根节点指针。

总之,通过C++代码来建立二叉树是比较简单的,只需要设置好结构体和递归函数,即可构建出一颗完整的二叉树。二叉树在计算机科学领域中应用广泛,可用于表示树形结构、搜索算法等领域。希望读者们掌握了如何使用C++来实现二叉树。

  
  

评论区

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