c语言生成二叉排序树的代码程序
时间: 2023-12-23 16:03:30 浏览: 41
下面是用 C 语言实现生成二叉排序树的代码程序:
```c
#include<stdio.h>
#include<stdlib.h>
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
struct TreeNode* createNode(int val) {
struct TreeNode* node = (struct TreeNode*) malloc(sizeof(struct TreeNode));
node->val = val;
node->left = NULL;
node->right = NULL;
return node;
}
struct TreeNode* insert(struct TreeNode* root, int val) {
if (!root)
return createNode(val);
if (val < root->val)
root->left = insert(root->left, val);
else if (val > root->val)
root->right = insert(root->right, val);
return root;
}
void inorder(struct TreeNode* root) {
if (!root)
return;
inorder(root->left);
printf("%d ", root->val);
inorder(root->right);
}
int main() {
struct TreeNode* root = NULL;
int n, val;
printf("Enter the number of nodes: ");
scanf("%d", &n);
printf("Enter the values of nodes: ");
for (int i = 0; i < n; i++) {
scanf("%d", &val);
root = insert(root, val);
}
printf("Inorder traversal of the binary search tree: ");
inorder(root);
return 0;
}
```
这个程序使用了结构体 TreeNode 来表示二叉树节点,包含 val、left、right 三个成员变量。createNode 函数用于创建新节点,insert 函数用于插入新节点,inorder 函数用于中序遍历二叉树。在 main 函数中,首先输入二叉树节点数 n 和节点的值,然后依次插入这些节点,并最终输出中序遍历结果。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)