二叉树 结构体实现
时间: 2024-09-25 15:14:16 浏览: 33
二叉树是一种数据结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。它常用于搜索、排序和表示层次结构等场景。以下是使用C语言结构体实现二叉树的一个基本示例:
```c
typedef struct TreeNode {
int val; // 节点值
struct TreeNode* left; // 左子节点指针
struct TreeNode* right; // 右子节点指针
} TreeNode;
// 创建新节点
TreeNode* createNode(int val) {
TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode));
if (newNode != NULL) {
newNode->val = val;
newNode->left = NULL;
newNode->right = NULL;
}
return newNode;
}
// 插入节点
TreeNode* insertNode(TreeNode* root, int val) {
if (root == NULL) {
return createNode(val);
} else if (val < root->val) {
root->left = insertNode(root->left, val);
} else {
root->right = insertNode(root->right, val);
}
return root;
}
// 其他操作如查找、删除等也会涉及到节点结构
```
在这个例子中,`TreeNode`是一个结构体,包含了节点值`val`以及指向左右子节点的指针`left`和`right`。通过这些指针,我们可以构建和操作整个二叉树。
阅读全文