用c语言写个代码输入二叉树的数据,输出一个能让人看懂的二叉树的图
时间: 2024-03-09 20:47:01 浏览: 55
好的,下面是用C语言实现输入二叉树数据并输出可视化二叉树的代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 二叉树结点结构体
typedef struct TreeNode {
int val;
struct TreeNode* left;
struct TreeNode* right;
} TreeNode;
// 创建新结点
TreeNode* createNode(int val) {
TreeNode* node = (TreeNode*) malloc(sizeof(TreeNode));
node->val = val;
node->left = NULL;
node->right = NULL;
return node;
}
// 构建二叉树
TreeNode* buildTree() {
int val;
printf("请输入根结点的值(-1表示为空):");
scanf("%d", &val);
if (val == -1) {
return NULL;
}
TreeNode* root = createNode(val);
printf("请输入结点%d的左子树:\n", root->val);
root->left = buildTree();
printf("请输入结点%d的右子树:\n", root->val);
root->right = buildTree();
return root;
}
// 递归打印二叉树
void printTree(TreeNode* root, int level) {
if (root == NULL) {
return;
}
printTree(root->right, level + 1);
for (int i = 0; i < level; i++) {
printf(" ");
}
printf("%d\n", root->val);
printTree(root->left, level + 1);
}
int main() {
printf("请输入二叉树的数据:\n");
TreeNode* root = buildTree();
printf("二叉树的可视化:\n");
printTree(root, 0);
return 0;
}
```
使用方法:运行程序后,按照提示输入二叉树的数据,程序会根据输入的数据构建二叉树,并输出可视化的二叉树图形。
阅读全文
相关推荐


















