对前面设计的基础数据顺序输入建立二叉排序树。 函数名称:CreateBSTree
时间: 2024-02-24 10:59:50 浏览: 27
好的,我理解了你的问题。以下是基于输入数据构建二叉排序树的代码实现:
```c
// 定义二叉树结构体
typedef struct BSTNode {
int data;
struct BSTNode *left;
struct BSTNode *right;
} BSTNode;
// 创建新节点
BSTNode *newNode(int data) {
BSTNode *node = (BSTNode*) malloc(sizeof(BSTNode));
node->data = data;
node->left = NULL;
node->right = NULL;
return node;
}
// 向二叉排序树中插入节点
BSTNode *insert(BSTNode *root, int data) {
if (root == NULL) {
return newNode(data);
} else if (data < root->data) {
root->left = insert(root->left, data);
} else if (data > root->data) {
root->right = insert(root->right, data);
}
return root;
}
// 基于输入数据构建二叉排序树
BSTNode *CreateBSTree(int *arr, int len) {
BSTNode *root = NULL;
for (int i = 0; i < len; i++) {
root = insert(root, arr[i]);
}
return root;
}
```
以上代码中,`newNode` 函数用于创建新节点,`insert` 函数用于向二叉排序树中插入节点,`CreateBSTree` 函数则用于基于输入数据构建二叉排序树。在 `CreateBSTree` 函数中,我们遍历输入数组并依次将其插入二叉排序树中。最终返回根节点即可。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)