二叉数3种遍历的c语言代码
时间: 2024-10-18 12:22:57 浏览: 15
二叉树的遍历 c语言
在C语言中,二叉树有三种常见的遍历方法:前序遍历、中序遍历和后序遍历。以下是这三种遍历方式的简单示例代码:
1. **前序遍历** (根节点 -> 左子树 -> 右子树)
```c
void preOrderTraversal(struct TreeNode* root) {
if (root != NULL) {
printf("%d ", root->val); // 访问当前节点
preOrderTraversal(root->left); // 遍历左子树
preOrderTraversal(root->right); // 遍历右子树
}
}
```
2. **中序遍历** (左子树 -> 根节点 -> 右子树)
```c
void inOrderTraversal(struct TreeNode* root) {
if (root != NULL) {
inOrderTraversal(root->left); // 遍历左子树
printf("%d ", root->val); // 访问当前节点
inOrderTraversal(root->right); // 遍历右子树
}
}
```
3. **后序遍历** (左子树 -> 右子树 -> 根节点)
```c
void postOrderTraversal(struct TreeNode* root) {
if (root != NULL) {
postOrderTraversal(root->left); // 遍历左子树
postOrderTraversal(root->right); // 遍历右子树
printf("%d ", root->val); // 访问当前节点
}
}
```
在这段代码中,`struct TreeNode`是一个简单的二叉树节点结构,通常包含整数值(`val`)以及指向左右子节点的指针。
阅读全文