用c语言表示:二叉排序树中添加一个节点
时间: 2023-06-04 08:02:32 浏览: 100
在二叉排序树中添加一个节点可以分为以下几个步骤:
1. 如果二叉排序树为空,直接创建该节点并将其作为根节点。
2. 如果二叉排序树不为空,则从根节点开始,逐级比较当前节点的值和要添加的节点的值。
3. 如果要添加的节点值小于当前节点值,则递归查找左子树,直到找到一个空位置,将该节点插入。
4. 如果要添加的节点值大于当前节点值,则递归查找右子树,直到找到一个空位置,将该节点插入。
下面是用 C 语言表示二叉排序树中添加一个节点的代码:
```c
typedef struct node {
int data;
struct node* left;
struct node* right;
} Node;
Node* insert(Node* root, int data) {
if (root == NULL) {
Node* new_node = (Node*) malloc(sizeof(Node));
new_node->data = data;
new_node->left = NULL;
new_node->right = NULL;
return new_node;
}
if (data < root->data) {
root->left = insert(root->left, data);
}
else if (data > root->data) {
root->right = insert(root->right, data);
}
return root;
}
```
其中,参数 root 表示二叉排序树的根节点,参数 data 表示要添加的节点的值。如果插入成功,函数返回修改后的二叉排序树的根节点。
阅读全文