用c语言写一个创建二叉树操作
时间: 2024-05-11 19:15:37 浏览: 259
好的,创建二叉树的操作可以通过以下的c语言代码实现:
```
#include <stdio.h>
#include <stdlib.h>
// 二叉树节点结构体
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
// 创建二叉树
struct TreeNode* createBinaryTree(){
int val;
scanf("%d", &val);
if(val == -1) // 输入-1表示该节点为空
return NULL;
struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode)); // 为该节点分配内存
root->val = val;
root->left = createBinaryTree(); // 递归创建左子树
root->right = createBinaryTree(); // 递归创建右子树
return root;
}
int main(){
struct TreeNode *root;
printf("请输入二叉树节点的值,-1表示该节点为空:\n");
root = createBinaryTree();
return 0;
}
```
这段代码可以通过递归的方式来创建二叉树,先输入当前节点的值,如果该值为-1则表示该节点为空,返回NULL;否则为该节点分配内存并将其值赋为输入的值,然后递归创建左右子树。
阅读全文