![]() |
#2
fulltimelink2020-04-13 17:19
|

#include<stdio.h>
#include<stdlib.h>
typedef struct tree tree;
struct tree
{
int data;
tree *left;
tree *right;
};
tree *tree_add(tree *root,int num)
{
if(root == NULL)
{
root=malloc(sizeof(tree));
root->data = num;
root->left = root->right = NULL;
return root;
}
else if(root->data < num)
root->right = tree_add(root->right,num);
else if(root->data > num)
root->left = tree_add(root->left,num);
else
return root;
}
int print_tree(tree *p)
{
if(p->left != NULL)
print_tree(p->left);
printf("%d\n",p->data);
if(p->right != NULL)
print_tree(p->right);
}
int main()
{
tree *root;
int num[10]={5,0,4,7,8,3,2,1,6};
for(int i=0;i<10;i++)
if(root == NULL)
root=tree_add(root,num[i]);
else
tree_add(root,num[i]);
print_tree(root);
}
#include<stdlib.h>
typedef struct tree tree;
struct tree
{
int data;
tree *left;
tree *right;
};
tree *tree_add(tree *root,int num)
{
if(root == NULL)
{
root=malloc(sizeof(tree));
root->data = num;
root->left = root->right = NULL;
return root;
}
else if(root->data < num)
root->right = tree_add(root->right,num);
else if(root->data > num)
root->left = tree_add(root->left,num);
else
return root;
}
int print_tree(tree *p)
{
if(p->left != NULL)
print_tree(p->left);
printf("%d\n",p->data);
if(p->right != NULL)
print_tree(p->right);
}
int main()
{
tree *root;
int num[10]={5,0,4,7,8,3,2,1,6};
for(int i=0;i<10;i++)
if(root == NULL)
root=tree_add(root,num[i]);
else
tree_add(root,num[i]);
print_tree(root);
}