二叉树的三种遍历c代码
时间: 2024-11-29 14:13:34 浏览: 5
二叉树的创建与遍历C语言实现代码.zip
二叉树的遍历主要有三种基本方法:前序遍历(Preorder Traversal)、中序遍历(Inorder Traversal)和后序遍历(Postorder Traversal)。以下是每种遍历方式的C语言实现:
1. **前序遍历(根-左-右)**:
```c
void preorderTraversal(struct TreeNode* root) {
if (root == NULL) return;
printf("%d ", root->val); // 先访问根节点
preorderTraversal(root->left); // 然后递归左子树
preorderTraversal(root->right); // 最后递归右子树
}
```
2. **中序遍历(左-根-右)**:
```c
void inorderTraversal(struct TreeNode* root) {
if (root == NULL) return;
inorderTraversal(root->left); // 首先递归左子树
printf("%d ", root->val); // 然后访问根节点
inorderTraversal(root->right); // 最后递归右子树
}
```
3. **后序遍历(左-右-根)**:
```c
void postorderTraversal(struct TreeNode* root) {
if (root == NULL) return;
postorderTraversal(root->left);
postorderTraversal(root->right);
printf("%d ", root->val); // 最后访问根节点
}
```
在这段代码中,`struct TreeNode`是一个假设的二叉树结点结构体,包含`val`表示结点值,`left`和`right`分别指向左子节点和右子节点。
阅读全文