21xrx.com
2024-11-05 16:33:20 Tuesday
登录
文章检索 我的文章 写文章
C++实现二叉树的代码
2023-06-30 10:02:39 深夜i     --     --
C++ 二叉树 实现 代码 数据结构

二叉树是一种重要的数据结构,它由节点和边组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。在计算机编程中,二叉树也是常用的一种数据结构。C++是一种高级语言,它能够方便地实现二叉树数据结构并进行相关操作。

下面是C++实现二叉树的代码:


#include <iostream>

using namespace std;

struct Node

{

  int val;

  Node* left;

  Node* right;

};

void insert(Node*& root, int key)

{

  if (root == nullptr)

  {

    root = new Node();

    root->val = key;

    root->left = nullptr;

    root->right = nullptr;

    return;

  }

  if (key < root->val)

    insert(root->left, key);

  else

    insert(root->right, key);

}

void inorder_traversal(Node* root)

{

  if (root == nullptr) return;

  inorder_traversal(root->left);

  cout << root->val << " ";

  inorder_traversal(root->right);

}

int main()

{

  Node* root = nullptr;

  insert(root, 7);

  insert(root, 3);

  insert(root, 9);

  insert(root, 1);

  insert(root, 5);

  insert(root, 8);

  cout << "Inorder traversal:";

  inorder_traversal(root);

  cout << endl;

  return 0;

}

这段代码定义了一个结构体`Node`,其中包含一个整型变量`val`和两个指向左右子节点的指针`left`和`right`。`insert`函数用于向二叉树中插入一个节点,并按照大小关系放在相应位置。`inorder_traversal`函数用于中序遍历二叉树,即先遍历左子树,然后访问当前节点,最后遍历右子树。

在`main`函数中,首先定义一个空指针`root`作为根节点,然后依次插入6个节点。最后,调用`inorder_traversal`函数中序遍历整个二叉树,并输出结果。

总体来说,C++代码实现二叉树较为简单,而且在计算机科学中应用广泛。掌握这种数据结构和实现方法,对于计算机编程者来说非常有帮助。

  
  

评论区

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