帮我写一个中序遍历生成树的代码
时间: 2023-03-27 19:01:10 浏览: 53
好的,以下是中序遍历生成树的代码:
```
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* left;
struct Node* right;
};
struct Node* newNode(int data) {
struct Node* node = (struct Node*)malloc(sizeof(struct Node));
node->data = data;
node->left = NULL;
node->right = NULL;
return node;
}
struct Node* insert(struct Node* node, int data) {
if (node == NULL) {
return newNode(data);
}
if (data < node->data) {
node->left = insert(node->left, data);
} else if (data > node->data) {
node->right = insert(node->right, data);
}
return node;
}
void inorder(struct Node* node) {
if (node == NULL) {
return;
}
inorder(node->left);
printf("%d ", node->data);
inorder(node->right);
}
int main() {
int arr[] = {5, 3, 7, 1, 9, 4, 6};
int n = sizeof(arr) / sizeof(arr[]);
struct Node* root = NULL;
for (int i = ; i < n; i++) {
root = insert(root, arr[i]);
}
inorder(root);
return ;
}
```
希望对您有所帮助!