文章
9
粉丝
0
获赞
39
访问
1.2k
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct node {
int data;
struct node *left;
struct node *right;
} Node;
Node *insert_node (Node *root, int val, int parent_val) {
if (root == NULL) {
printf("%d\n", parent_val);
root = (Node *)malloc(sizeof(Node));
root->data = val;
root->left = NULL;
root->right = NULL;
return root;
}
if (val < root->data) root->left = insert_node(root->left, val, root->data);
else if (val > root->data) root->right = insert_node(root->right, val, root->data);
return root;
}
Node *build_tree (int *arr, int len) {
Node *root = NULL;
for (int i = 0; i < len; i++) {
root = insert_node(root, arr[i], -1);
}
return root;
}
void free_tree (Node *root) {
if (root == NULL) return;
free_tree(root->left);
free_tree(root->right);
free(root);
}
int main () {
int N;
while (scanf("%d", &N) == 1) {
...
登录后发布评论
暂无评论,来抢沙发