21xrx.com
2024-09-20 05:42:30 Friday
登录
文章检索 我的文章 写文章
C++树的遍历方法
2023-07-09 13:15:15 深夜i     --     --
C++ 遍历 方法

C++是一种广泛使用的编程语言,它在数据结构方面具有广泛的应用。树是一种非常重要的数据结构,在许多应用程序中都得到广泛使用。在C++中,树可以使用递归和迭代方法进行遍历。接下来我们将介绍一些常用的树遍历方法。

1. 先序遍历

先序遍历是将根节点放在最前面,然后依次遍历其左子树和右子树的过程。具体实现方法如下:


// 先序遍历

void preOrder(TreeNode* root) {

  if (root == nullptr) return;

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

  preOrder(root->left);

  preOrder(root->right);

}

2. 中序遍历

中序遍历是将左子树、根节点和右子树依次遍历的过程。具体实现方法如下:


// 中序遍历

void inOrder(TreeNode* root) {

  if (root == nullptr) return;

  inOrder(root->left);

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

  inOrder(root->right);

}

3. 后序遍历

后序遍历是将左子树、右子树和根节点依次遍历的过程。具体实现方法如下:


// 后序遍历

void postOrder(TreeNode* root) {

  if (root == nullptr) return;

  postOrder(root->left);

  postOrder(root->right);

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

}

4. 层序遍历

层序遍历是按照从上到下、从左到右的顺序逐层遍历整个树。具体实现方法如下:


// 层序遍历

void levelOrder(TreeNode* root) {

  queue<TreeNode*> que;

  que.push(root);

  while (!que.empty()) {

    TreeNode* node = que.front();

    que.pop();

    cout << node->val << " ";

    if (node->left != nullptr) que.push(node->left);

    if (node->right != nullptr) que.push(node->right);

  }

}

在实际的应用场景中,树是一种非常重要的数据结构,在C++编程中树的遍历方法也是非常重要的基础知识。本文介绍的四种遍历方法可以为C++编程初学者提供帮助,希望读者可以从中受益,更好地掌握C++编程。

  
  

评论区

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