C++树节点的层次遍历方法

avatar
作者
筋斗云
阅读量:0

以下是使用 C++ 实现树节点的层次遍历方法的示例代码:

#include <iostream> #include <queue>  struct TreeNode {     int val;     TreeNode *left;     TreeNode *right;     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} };  void levelOrder(TreeNode* root) {     if (root == nullptr) {         return;     }      std::queue<TreeNode*> q;     q.push(root);      while (!q.empty()) {         int size = q.size();          for (int i = 0; i < size; i++) {             TreeNode* node = q.front();             q.pop();              std::cout << node->val << " ";              if (node->left) {                 q.push(node->left);             }             if (node->right) {                 q.push(node->right);             }         }     } }  int main() {     TreeNode* root = new TreeNode(1);     root->left = new TreeNode(2);     root->right = new TreeNode(3);     root->left->left = new TreeNode(4);     root->left->right = new TreeNode(5);      std::cout << "Level order traversal: ";     levelOrder(root);      return 0; } 

在上面的代码中,我们定义了一个树节点的结构体 TreeNode,并实现了层次遍历方法 levelOrder。在 main 函数中,我们创建了一棵树并调用 levelOrder 方法进行层次遍历。运行结果将输出树节点的值的层次遍历顺序。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!