二叉树的遍历c语言
时间: 2023-08-24 11:22:12 浏览: 34
在 C 语言中,二叉树的遍历可以使用递归或栈来实现。以下是三种常见的遍历方式的代码示例:
1. 前序遍历:
```c
void preorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
printf("%d ", root->val); // 访问根节点
preorderTraversal(root->left); // 递归遍历左子树
preorderTraversal(root->right); // 递归遍历右子树
}
```
2. 中序遍历:
```c
void inorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
inorderTraversal(root->left); // 递归遍历左子树
printf("%d ", root->val); // 访问根节点
inorderTraversal(root->right); // 递归遍历右子树
}
```
3. 后序遍历:
```c
void postorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
postorderTraversal(root->left); // 递归遍历左子树
postorderTraversal(root->right); // 递归遍历右子树
printf("%d ", root->val); // 访问根节点
}
```
其中,`TreeNode` 表示二叉树的节点结构体,包含左右子树指针和节点值等信息。