使用c语言写一个创建二叉树的代码
时间: 2023-09-11 16:11:35 浏览: 96
下面是使用C语言创建二叉树的代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
// 创建二叉树节点
struct TreeNode* createNode(int val) {
struct TreeNode* node = (struct TreeNode*) malloc(sizeof(struct TreeNode));
node->val = val;
node->left = NULL;
node->right = NULL;
return node;
}
// 创建二叉树
struct TreeNode* createBinaryTree() {
int val;
printf("请输入节点的值(-1表示空节点):");
scanf("%d", &val);
if (val == -1) {
return NULL;
}
struct TreeNode* root = createNode(val);
root->left = createBinaryTree();
root->right = createBinaryTree();
return root;
}
// 中序遍历二叉树
void inorderTraversal(struct TreeNode* root) {
if (root == NULL) {
return;
}
inorderTraversal(root->left);
printf("%d ", root->val);
inorderTraversal(root->right);
}
int main() {
struct TreeNode* root = createBinaryTree();
printf("中序遍历二叉树:");
inorderTraversal(root);
return 0;
}
```
使用方法:
1. 运行程序后,按照提示输入节点的值,-1表示空节点。
2. 输入完成后,程序会自动创建二叉树。
3. 程序会输出中序遍历结果。
阅读全文