输入10个不同整数,依次插入到一颗初始为空的二叉排序树中,并对其进行中序遍历,以验证树的正确性。C语言编写
时间: 2024-02-13 07:05:57 浏览: 61
二叉树的前序,中序,后序排列C语言程序
好的,以下是使用 C 语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
int value;
struct Node* left;
struct Node* right;
};
typedef struct Node Node;
void insert(Node** root, int value) {
if (*root == NULL) {
*root = (Node*) malloc(sizeof(Node));
(*root)->value = value;
(*root)->left = NULL;
(*root)->right = NULL;
} else if (value < (*root)->value) {
insert(&((*root)->left), value);
} else if (value > (*root)->value) {
insert(&((*root)->right), value);
} else {
printf("Value already exists in the tree!\n");
}
}
void inorder_traversal(Node* root) {
if (root == NULL) {
printf("Tree is empty!\n");
} else {
inorder_traversal(root->left);
printf("%d\n", root->value);
inorder_traversal(root->right);
}
}
int main() {
Node* root = NULL;
insert(&root, 5);
insert(&root, 2);
insert(&root, 8);
insert(&root, 1);
insert(&root, 3);
insert(&root, 7);
insert(&root, 9);
insert(&root, 4);
insert(&root, 6);
insert(&root, 10);
inorder_traversal(root);
return 0;
}
```
然后我们可以编译并运行这个程序,输出结果应该为:
```
1
2
3
4
5
6
7
8
9
10
```
这说明这个二叉排序树是正确的。
阅读全文