c语言先序遍历二叉树
时间: 2024-10-15 18:00:49 浏览: 41
树子系统实现二叉树的创建,先序遍历,中序遍历,后序遍历,求叶子数,求结点数,求树的深度
在C语言中,先序遍历二叉树通常采用递归的方式实现,它的顺序是根节点 -> 左子树 -> 右子树。以下是简单的先序遍历算法步骤:
1. 定义一个函数`void preorderTraversal(TreeNode* root)`,其中`TreeNode* root`表示当前节点。
2. 如果根节点不为空(`root != NULL`),则执行以下操作:
- 输出或访问当前节点的值(通常是打印或存储节点值)
- 调用`preorderTraversal(root->left)`,遍历左子树
- 调用`preorderTraversal(root->right)`,遍历右子树
下面是一个简单的C语言代码示例:
```c
#include <stdio.h>
// 假设我们有一个名为TreeNode的结构体,包含数据域data和指向左右子节点的指针left和right
typedef struct TreeNode {
int data;
struct TreeNode* left;
struct TreeNode* right;
} TreeNode;
// 先序遍历函数
void preorderTraversal(TreeNode* root) {
if (root != NULL) {
printf("%d ", root->data); // 访问根节点
preorderTraversal(root->left); // 遍历左子树
preorderTraversal(root->right); // 遍历右子树
}
}
// 测试
int main() {
TreeNode* tree = /* 初始化你的二叉树 */;
preorderTraversal(tree);
return 0;
}
```
阅读全文