输入10个不同整数,依次插入到一颗初始为空的二叉排序树中,并对其进行中序遍历,以验证树的正确性。c语言
时间: 2023-08-03 10:04:28 浏览: 235
下面是一个简单的C语言程序,实现了将10个不同整数依次插入到一颗初始为空的二叉排序树中,并对其进行中序遍历的操作。
```c
#include <stdio.h>
#include <stdlib.h>
// 二叉树结点结构体
typedef struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
// 插入结点
TreeNode* insert(TreeNode* root, int val) {
if (root == NULL) {
TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));
node->val = val;
node->left = NULL;
node->right = NULL;
return node;
}
if (val < root->val) {
root->left = insert(root->left, val);
} else {
root->right = insert(root->right, val);
}
return root;
}
// 中序遍历
void inorderTraversal(TreeNode* root) {
if (root != NULL) {
inorderTraversal(root->left);
printf("%d ", root->val);
inorderTraversal(root->right);
}
}
int main() {
// 初始化根节点
TreeNode* root = NULL;
// 依次插入10个不同整数
root = insert(root, 5);
root = insert(root, 3);
root = insert(root, 7);
root = insert(root, 2);
root = insert(root, 4);
root = insert(root, 6);
root = insert(root, 8);
root = insert(root, 1);
root = insert(root, 9);
root = insert(root, 10);
// 中序遍历,输出结果
inorderTraversal(root);
return 0;
}
```
程序输出结果为:1 2 3 4 5 6 7 8 9 10
这个结果验证了我们所构建的二叉排序树的正确性。
阅读全文