二叉树层次遍历c++语言

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二叉树层次遍历c++语言
层次遍历是二叉树遍历的一种方式,通常使用队列来实现。

下面是一个简单的C++ 示例代码,展示了如何实现二叉树的层次遍历:
```cpp
#include <iostream>
#include <queue>
// 定义二叉树节点
struct TreeNode {
int data;
TreeNode* left;
TreeNode* right;
TreeNode(int val) : data(val), left(nullptr), right(nullptr) {}
};
// 层次遍历函数
void levelOrderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
// 使用队列来辅助层次遍历
std::queue<TreeNode*> q;
q.push(root);
while (!q.empty()) {
// 出队并访问当前节点
TreeNode* current = q.front();
q.pop();
std::cout << current->data << " ";
// 将左右子节点入队
if (current->left != nullptr) {
q.push(current->left);
}
if (current->right != nullptr) {
q.push(current->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);
root->right->left = new TreeNode(6);
root->right->right = new TreeNode(7);
// 执行层次遍历
std::cout << "层次遍历结果:";
levelOrderTraversal(root);
return 0;
}
```
这个示例创建了一个简单的二叉树,并通过层次遍历输出各节点的值。

在实际使用中,你可以根据自己的需求修改节点的结构和数值。

相关文档
最新文档