使用C语言构造二叉树并输出
时间: 2024-02-21 22:03:21 浏览: 23
好的,我可以为你提供一个使用 C 语言构造二叉树并输出的示例代码。这里给你一个示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树结构体
typedef struct TreeNode {
int val;
struct TreeNode* left;
struct TreeNode* right;
} TreeNode;
// 创建二叉树节点
TreeNode* create_node(int val) {
TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));
node->val = val;
node->left = NULL;
node->right = NULL;
return node;
}
// 构造二叉树
TreeNode* build_tree() {
TreeNode* root = create_node(1);
root->left = create_node(2);
root->right = create_node(3);
root->right->left = create_node(4);
root->right->right = create_node(5);
return root;
}
// 输出二叉树
void print_tree(TreeNode* root, int level) {
if (root == NULL) {
return;
}
print_tree(root->right, level + 1);
for (int i = 0; i < level; i++) {
printf("%s", " ");
}
printf("-> %d\n", root->val);
print_tree(root->left, level + 1);
}
int main() {
TreeNode* root = build_tree();
print_tree(root, 0);
return 0;
}
```
输出结果:
```
-> 5
-> 3
-> 4
-> 1
-> 2
```
希望这个例子能帮助你理解如何使用 C 语言构造二叉树并输出。