用c语言以二叉链表表示二叉树,建立一棵二叉树,输出二叉树的后序遍历结果
时间: 2023-11-18 18:00:28 浏览: 103
以下是用C语言以二叉链表表示二叉树,建立一棵二叉树,并输出二叉树的后序遍历结果的代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树结构体
typedef struct node {
char data;
struct node *left;
struct node *right;
} Node;
// 创建新节点
Node* newNode(char data) {
Node* node = (Node*)malloc(sizeof(Node));
node->data = data;
node->left = NULL;
node->right = NULL;
return node;
}
// 构建二叉树
Node* buildTree() {
Node* root = newNode('A');
root->left = newNode('B');
root->right = newNode('C');
root->left->left = newNode('D');
root->left->right = newNode('E');
root->right->left = newNode('F');
root->right->right = newNode('G');
return root;
}
// 后序遍历二叉树
void postorderTraversal(Node* root) {
if (root != NULL) {
postorderTraversal(root->left);
postorderTraversal(root->right);
printf("%c ", root->data);
}
}
int main() {
Node* root = buildTree();
printf("后序遍历结果: ");
postorderTraversal(root);
printf("\n");
return 0;
}
```
输出结果为:
```
后序遍历结果: D E B F G C A
```
阅读全文