#include <stdio.h>
#include <stdlib.h>
struct tree
{
struct tree *left;
int data;
struct tree *right;
};
typedef struct tree treenode;
typedef treenode *b_tree;
b_tree insert_node(b_tree root, int node)
{
b_tree newnode,currentnode,parentnode;
newnode = (b_tree)malloc(sizeof(treenode));
newnode->data = node;
newnode->left = NULL;
newnode->right = NULL;
if(root == NULL)
{
return newnode;
}
else
{
currentnode = root;
while(currentnode != NULL)
{
parentnode = currentnode;
if(currentnode->data > node)
{
currentnode = currentnode->left;
}
else
{
currentnode = currentnode->right;
}
}
if(parentnode->data > node)
{
parentnode->left = newnode;
}
else
{
parentnode->right = newnode;
}
}
return root;
}
b_tree creat_tree(int *data, int len)
{
b_tree root = NULL;
int i = 0;
for(i = 0; i < len; i++)
{
root = insert_node(root,data[i]);
}
return root;
}
void print_tree(b_tree root)
{
b_tree p;
p = root->left;
printf("Print left_tree data\n ");
while(p != NULL)
{
printf("%5d",p->data);
printf("\n");
p = p->left;
}
p = root->right;
printf("Print right_tree data\n");
while(p != NULL)
{
printf("%5d",p->data);
printf("\n");
p = p->right;
}
}
int main(void)
{
b_tree root = NULL;
int i = 0, len = 0;
int data;
int nodelist[20];
printf("Please input the element of tree\n");
scanf("%d",&data);
while(i != 5)
{
nodelist[len] = data;
len = len +1;
scanf("%d",&data);
i++;
}
root = creat_tree(nodelist,len);
print_tree(root);
return 0;
}
#include <stdlib.h>
struct tree
{
struct tree *left;
int data;
struct tree *right;
};
typedef struct tree treenode;
typedef treenode *b_tree;
b_tree insert_node(b_tree root, int node)
{
b_tree newnode,currentnode,parentnode;
newnode = (b_tree)malloc(sizeof(treenode));
newnode->data = node;
newnode->left = NULL;
newnode->right = NULL;
if(root == NULL)
{
return newnode;
}
else
{
currentnode = root;
while(currentnode != NULL)
{
parentnode = currentnode;
if(currentnode->data > node)
{
currentnode = currentnode->left;
}
else
{
currentnode = currentnode->right;
}
}
if(parentnode->data > node)
{
parentnode->left = newnode;
}
else
{
parentnode->right = newnode;
}
}
return root;
}
b_tree creat_tree(int *data, int len)
{
b_tree root = NULL;
int i = 0;
for(i = 0; i < len; i++)
{
root = insert_node(root,data[i]);
}
return root;
}
void print_tree(b_tree root)
{
b_tree p;
p = root->left;
printf("Print left_tree data\n ");
while(p != NULL)
{
printf("%5d",p->data);
printf("\n");
p = p->left;
}
p = root->right;
printf("Print right_tree data\n");
while(p != NULL)
{
printf("%5d",p->data);
printf("\n");
p = p->right;
}
}
int main(void)
{
b_tree root = NULL;
int i = 0, len = 0;
int data;
int nodelist[20];
printf("Please input the element of tree\n");
scanf("%d",&data);
while(i != 5)
{
nodelist[len] = data;
len = len +1;
scanf("%d",&data);
i++;
}
root = creat_tree(nodelist,len);
print_tree(root);
return 0;
}