C语言二叉树层次遍历的代码
时间: 2024-12-29 22:29:34 浏览: 77
在C语言中,二叉树的层次遍历通常使用队列数据结构来实现广度优先搜索(Breadth First Search, BFS)。这里是一个基本的示例代码,假设我们有一个简单的二叉树节点定义:
```c
typedef struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
void levelOrderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
// 创建一个队列并入队根节点
queue<TreeNode*> q;
q.enqueue(root);
while (!q.isEmpty()) {
// 弹出队首元素,并访问
TreeNode* node = q.dequeue();
printf("%d ", node->val); // 或者其他处理操作
// 如果有左孩子,入队
if (node->left != NULL) {
q.enqueue(node->left);
}
// 如果有右孩子,入队
if (node->right != NULL) {
q.enqueue(node->right);
}
}
}
```
这个函数会按照从上到下、从左到右的顺序打印出所有节点的值。如果需要,你可以修改`printf("%d ", node->val)`这一行来存储结果或做其他操作。
阅读全文
相关推荐















