21xrx.com
2024-12-22 20:58:09 Sunday
登录
文章检索 我的文章 写文章
C++二叉树遍历代码
2023-06-29 01:06:56 深夜i     --     --
C++ 二叉树 遍历 代码

二叉树是计算机科学中常用的数据结构之一,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) {

    cout << root->val << " ";  //访问根节点

    preorderTraversal(root->left);  //访问左子树

    preorderTraversal(root->right);  //访问右子树

  }

}

中序遍历是指先访问左子树,然后访问根节点,最后访问右子树。以下是C++实现中序遍历代码:

void inorderTraversal(TreeNode* root) {

  if (root != NULL) {

    inorderTraversal(root->left);  //访问左子树

    cout << root->val << " ";  //访问根节点

    inorderTraversal(root->right);  //访问右子树

  }

}

后序遍历是指先访问左子树,然后访问右子树,最后访问根节点。以下是C++实现后序遍历代码:

void postorderTraversal(TreeNode* root) {

  if (root != NULL) {

    postorderTraversal(root->left);  //访问左子树

    postorderTraversal(root->right);  //访问右子树

    cout << root->val << " ";  //访问根节点

  }

}

在使用这些遍历代码时,我们需要传入根节点作为参数。这些代码将对整个二叉树进行遍历,可以在每个节点处执行需要的操作。

总的来说,C++提供了简单而强大的工具来实现二叉树遍历。无论你是想要在程序中实现一个自定义的二叉树,还是需要使用二叉树来解决实际问题,这些代码都能帮助你完成任务。

  
  

评论区

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