用二叉链表定义二叉树结构体
时间: 2024-12-08 09:13:13 浏览: 11
在二叉链表中定义二叉树结构体通常涉及创建三个节点类型:根节点、左节点和右节点。这里是一个简单的示例,展示如何用C语言的结构体和指针来表示:
```c
// 定义二叉树的节点结构体
typedef struct TreeNode {
int data; // 节点值
struct TreeNode* left; // 左孩子指针
struct TreeNode* right; // 右孩子指针
} TreeNode;
// 初始化一个空的二叉树
TreeNode* createEmptyTree() {
return (TreeNode*)malloc(sizeof(TreeNode));
}
// 插入新节点到二叉树
TreeNode* insertNode(TreeNode* root, int value) {
if (root == NULL) {
root = createEmptyTree();
root->data = value;
return root;
}
if (value < root->data)
root->left = insertNode(root->left, value);
else
root->right = insertNode(root->right, value);
return root;
}
// 搜索或访问二叉树节点
TreeNode* searchNode(TreeNode* root, int value) {
if (root == NULL || root->data == value)
return root;
if (value < root->data)
return searchNode(root->left, value);
else
return searchNode(root->right, value);
}
阅读全文