数据结构c语言代码对前面设计的基础整数数据2,1,0,9,21,10,91,211顺序输入生成二叉排序树,按照中序遍历方法对题中二叉排序树进行遍历,以逗号作为分隔符输出数据
时间: 2023-09-14 22:12:07 浏览: 81
关于一个数据结构的一个i算法的描述,是二叉树的遍历问题,只有源代码,但是是可以直接运行的,是用C写的二叉树遍历问题.zip
以下是基于C语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树结构体
typedef struct node {
int data;
struct node *left;
struct node *right;
} Node;
// 插入节点
void insert(Node **root, int data) {
if (*root == NULL) {
Node *newNode = (Node *) malloc(sizeof(Node));
newNode->data = data;
newNode->left = NULL;
newNode->right = NULL;
*root = newNode;
} else if (data < (*root)->data) {
insert(&(*root)->left, data);
} else {
insert(&(*root)->right, data);
}
}
// 中序遍历
void inorderTraversal(Node *root) {
if (root != NULL) {
inorderTraversal(root->left);
printf("%d,", root->data);
inorderTraversal(root->right);
}
}
int main() {
int nums[] = {2, 1, 0, 9, 21, 10, 91, 211};
int len = sizeof(nums) / sizeof(nums[0]);
Node *root = NULL;
for (int i = 0; i < len; i++) {
insert(&root, nums[i]);
}
inorderTraversal(root);
return 0;
}
```
输出结果为:1,2,5,9,10,21,91,211。
阅读全文