二叉树中序遍历递归c语言
时间: 2024-10-27 21:14:04 浏览: 36
二叉树中序遍历
在C语言中,二叉树的中序遍历通常采用递归的方式来实现。中序遍历的顺序是先左子树、然后根节点、最后右子树。以下是递归实现中序遍历的简单代码示例:
```c
// 定义二叉树结点结构体
typedef struct TreeNode {
int val; // 节点值
struct TreeNode* left; // 左子节点指针
struct TreeNode* right; // 右子节点指针
} TreeNode;
// 中序遍历函数
void inorderTraversal(TreeNode* root) {
if (root != NULL) { // 如果当前节点非空
inorderTraversal(root->left); // 先访问左子树
printf("%d ", root->val); // 输出当前节点值
inorderTraversal(root->right); // 再访问右子树
}
}
```
在这个代码中,`inorderTraversal` 函数接收一个二叉树的根节点作为参数,如果节点存在,就对左子树进行递归遍历,然后再访问自身(输出节点值),最后递归遍历右子树。如果节点为空,则停止递归。
阅读全文