#include <stdio.h>
#include <stdlib.h>
// 定义二叉树节点结构体
typedef struct TreeNode {
int value;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
// 创建二叉树节点的函数
TreeNode* createNode(int value) {
TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));
if (node == NULL) {
printf("Memory allocation failed\n");
exit(EXIT_FAILURE);
}
node->value = value;
node->left = NULL;
node->right = NULL;
return node;
}
// 插入左子节点的函数
void insertLeft(TreeNode* node, int value) {
if (node == NULL) {
printf("Node cannot be NULL\n");
exit(EXIT_FAILURE);
}
node->left = createNode(value);
}
// 插入右子节点的函数
void insertRight(TreeNode* node, int value) {
if (node == NULL) {
printf("Node cannot be NULL\n");
exit(EXIT_FAILURE);
}
node->right = createNode(value);
}
// 主函数,用于演示二叉树的创建
int main() {
// 创建根节点
TreeNode* root = createNode(1);
// 插入左子节点
insertLeft(root, 2);
// 插入右子节点
insertRight(root, 3);
// 以此类推,可以继续插入更多的节点
// 清理内存
free(root);
return 0;
}