建立二叉树的代码c语言
时间: 2023-06-25 11:06:39 浏览: 87
c语言构建二叉树
以下是一个简单的二叉树结构体及创建函数的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树结构体
typedef struct TreeNode {
int data;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
// 创建二叉树函数
TreeNode* createTree() {
int val;
TreeNode *root = NULL;
printf("输入节点的值(输入-1结束):");
scanf("%d", &val);
if (val == -1) {
return root;
}
root = (TreeNode*)malloc(sizeof(TreeNode));
root->data = val;
root->left = createTree();
root->right = createTree();
return root;
}
int main() {
TreeNode *root = createTree();
printf("二叉树创建完成!");
return 0;
}
```
在该示例代码中,我们定义了一个二叉树结构体 `TreeNode`,包含了节点的值 `data`,以及指向左右子节点的指针 `left` 和 `right`。然后,我们定义了一个创建二叉树的函数 `createTree()`,该函数通过递归的方式创建二叉树,并返回根节点指针。最后,在 `main()` 函数中,我们调用 `createTree()` 函数创建二叉树,并打印出创建完成的提示信息。
需要注意的是,该示例代码中的二叉树是按照前序遍历的方式创建的,即先输入父节点的值,然后依次输入左右子节点的值。如果需要按照其他方式创建二叉树,可以在 `createTree()` 函数中进行相应的修改。
阅读全文