c语言写一份代码
时间: 2023-08-01 20:12:49 浏览: 45
以下用 C 语言实现二叉树后序遍历的代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树结点
typedef struct TreeNode {
char data; // 结点数据
struct TreeNode* left; // 左子树指针
struct TreeNode* right; // 右子树指针
} TreeNode;
// 创建一棵二叉树
TreeNode* createTree() {
char ch;
scanf("%c", &ch);
if (ch == '.') {
return NULL;
}
TreeNode* root = (TreeNode*)malloc(sizeof(TreeNode));
root->data = ch;
root->left = createTree();
root->right = createTree();
return root;
}
// 后序遍历二叉树
void postorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
postorderTraversal(root->left);
postorderTraversal(root->right);
printf("%c", root->data);
}
int main() {
printf("请输入二叉树的前序遍历序列:\n");
TreeNode* root = createTree();
printf("二叉树的后序遍历序列为:\n");
postorderTraversal(root);
printf("\n");
return 0;
}
```
在该代码中,我们首先定义了一个二叉树结点的结构体 `TreeNode`,包括结点数据 `data`、左子树指针 `left` 和右子树指针 `right`。然后,我们通过 `createTree` 函数递归地创建一棵二叉树,该函数会从标准输入中读入二叉树的前序遍历序列,并返回二叉树的根节点。最后,我们通过 `postorderTraversal` 函数实现后序遍历二叉树,并输出遍历结果。
需要注意的是,我们在输入序列时,空结点用字符 `.` 表示。此外,在输出二叉树的后序遍历序列时,我们需要在每个结点的数据值后面输出一个空格。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)