c语言数据结构实验二叉排序树的插入代码
时间: 2024-12-14 19:24:53 浏览: 16
在C语言中,二叉排序树的插入操作通常涉及到递归或者迭代的过程。这里是一个简单的示例,展示如何在二叉排序树中插入一个新节点:
```c
// 定义二叉树节点结构体
typedef struct TreeNode {
int val; // 节点值
struct TreeNode* left; // 左孩子指针
struct TreeNode* right; // 右孩子指针
} TreeNode;
// 插入函数
TreeNode* insertIntoBST(TreeNode* root, int val) {
if (root == NULL) { // 如果根节点为空,则创建新节点作为当前节点
return (TreeNode*)malloc(sizeof(TreeNode));
root = (TreeNode*)malloc(sizeof(TreeNode)); // 分配空间并初始化新节点
root->val = val;
root->left = NULL;
root->right = NULL;
} else if (val < root->val) { // 否则,如果要插入的值小于当前节点,向左子树递归
root->left = insertIntoBST(root->left, val);
} else { // 如果要插入的值大于等于当前节点,向右子树递归
root->right = insertIntoBST(root->right, val);
}
return root; // 返回根节点,表示完成插入
}
```
这个函数会检查新值是否比当前节点小或大,然后递归地继续在相应的子树中查找插入位置。
阅读全文