c语言二叉树的前后中序遍历程序
时间: 2024-11-22 13:03:15 浏览: 6
课程设计报告数据结构二叉树遍历演示_二叉树中序遍历怎么看
5星 · 资源好评率100%
在 C 语言中,二叉树的前序、中序和后序遍历是非常基础的算法操作。这里简单介绍下如何编写这三个遍历的递归函数:
**前序遍历(Preorder Traversal)**:
```c
void preorderTraversal(struct TreeNode* root) {
if (root != NULL) {
printf("%d ", root->val); // 先访问根节点
preorderTraversal(root->left); // 再遍历左子树
preorderTraversal(root->right); // 最后遍历右子树
}
}
```
**中序遍历(Inorder Traversal)**:
```c
void inorderTraversal(struct TreeNode* root) {
if (root != NULL) {
inorderTraversal(root->left); // 首先遍历左子树
printf("%d ", root->val); // 然后访问根节点
inorderTraversal(root->right); // 最后遍历右子树
}
}
```
**后序遍历(Postorder Traversal)**:
```c
void postorderTraversal(struct TreeNode* root) {
if (root != NULL) {
postorderTraversal(root->left); // 先遍历左子树
postorderTraversal(root->right); // 然后遍历右子树
printf("%d ", root->val); // 最后访问根节点
}
}
```
在这个结构体 `struct TreeNode` 中,通常包含两个指针 `left` 和 `right` 分别指向左子树和右子树,以及一个整型变量 `val` 存储节点值。
阅读全文