21xrx.com
2024-06-03 03:21:43 Monday
登录
文章检索 我的文章 写文章
C++二叉树遍历代码实现
2023-07-06 04:45:54 深夜i     --     --
C++ 二叉树 遍历 代码 实现

二叉树是一种常见的数据结构,在计算机科学中被广泛应用。它是由节点组成的树形结构,每一个节点最多可以有两个子节点。二叉树遍历是指从根节点出发,按照特定的顺序依次访问每一个节点。常见的遍历方式有前序遍历、中序遍历和后序遍历。

C++是一种流行的编程语言,它提供了丰富的数据类型和数据结构,特别适合实现二叉树。下面是一份C++二叉树遍历代码实现。

首先定义一个二叉树节点的数据结构,包含三个属性:节点值、左子节点和右子节点。


struct TreeNode {

  int val;

  TreeNode *left;

  TreeNode *right;

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

};

接下来是前序遍历的代码实现。前序遍历的顺序是先访问根节点,然后访问左子树,最后访问右子树。这里使用递归的方式实现。


void preorderTraversal(TreeNode* root) {

  if (root == NULL)

    return;

  

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

  preorderTraversal(root->left);

  preorderTraversal(root->right);

}

中序遍历是指先访问左子树,然后访问根节点,最后访问右子树。同样使用递归实现。


void inorderTraversal(TreeNode* root) {

  if (root == NULL)

    return;

  

  inorderTraversal(root->left);

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

  inorderTraversal(root->right);

}

后序遍历的顺序是先访问左子树,然后访问右子树,最后访问根节点。同样使用递归实现。


void postorderTraversal(TreeNode* root) {

  if (root == NULL)

    return;

  

  postorderTraversal(root->left);

  postorderTraversal(root->right);

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

}

以上就是C++二叉树遍历的代码实现。通过定义节点数据结构和递归方式,实现了前序、中序和后序遍历的功能。这些遍历方式是处理和操作二叉树的基本操作,对于二叉树相关的算法和问题也有很大的帮助。

  
  

评论区

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