21xrx.com
2024-11-05 16:26:29 Tuesday
登录
文章检索 我的文章 写文章
C++实现二叉树的创建
2023-07-03 07:18:24 深夜i     --     --
C++ 二叉树 创建

二叉树是一种常用的数据结构,它的结构非常简单,但用途广泛,如搜索,排序,建立索引等。二叉树由节点和连接节点的边组成,其中每个节点最多有两个子节点,左节点和右节点。二叉树可以用C++语言来实现,以下是C++实现二叉树的创建的代码。

1. 首先定义二叉树的节点结构体,并在结构体中声明该节点的左子树和右子树:


struct BinaryTree

{

  int value;

  BinaryTree* left;

  BinaryTree* right;

};

2. 创建二叉树的核心函数是insert_node(),它用于插入新节点。在插入新节点之前,需要根据节点值确定它应该插入到左子树还是右子树上。如果节点值小于当前节点的值,则插入到左子树上,否则插入到右子树上。


void insert_node(BinaryTree*& root, int value)

{

  if (root == NULL)

  创建新节点并将其作为根节点。

    root = new BinaryTree;

    root->value = value;

    root->left = NULL;

    root->right = NULL;

    return;

  

  if(value < root->value)

  {

    // 插入到左子树上

    insert_node(root->left, value);

  }

  else

  {

    // 插入到右子树上

    insert_node(root->right, value);

  }

}

3. 调用insert_node()函数,可以创建一个新的二叉树,例如:


int main()

{

  BinaryTree* root = NULL;

  insert_node(root, 50);

  insert_node(root, 30);

  insert_node(root, 70);

  insert_node(root, 20);

  insert_node(root, 40);

  insert_node(root, 60);

  insert_node(root, 80);

}

如上所示,这个二叉树由7个节点组成。节点50是根节点,节点30和节点70是根节点的左子树和右子树,节点20和节点40是节点30的左子树和右子树,节点60和节点80是节点70的左子树和右子树。

综上所述,实现二叉树的创建需要考虑以下两个问题:节点结构,以及如何插入新节点。在了解了这些知识点后,我们就可以用C++语言来创建二叉树。

  
  

评论区

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