typedef struct node{
char data;
struct node *lchild;
struct node *rchild;
}node,*bintree;
bintree root;
void createtree(bintree *t)
{char ch;
if((ch=getchar())==' ')
*t=NULL;
else
{*t=(node *)malloc(sizeof(node));
(*t)->data=ch;
createbintree(&(*t)->lchild);
createbintree(&(*t)->rchild);
}
}
///
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;
b_tree currentnode;
b_tree parentnode;
newnode=(b_tree)malloc(sizeof(treenode));
newnode->data=node;
newnode->right=NULL;
newnode->left=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 create_btree(int *data,int len)
{
b_tree root=NULL;
int i;
for(i=0;i<len;i++)
root=insert_node(root,data[i]);
return root;
}
void inorder(b_tree point)
{
if(point!=NULL)
{
printf("%d",point->data);
inorder(point->left);
inorder(point->right);
}
}
char data;
struct node *lchild;
struct node *rchild;
}node,*bintree;
bintree root;
void createtree(bintree *t)
{char ch;
if((ch=getchar())==' ')
*t=NULL;
else
{*t=(node *)malloc(sizeof(node));
(*t)->data=ch;
createbintree(&(*t)->lchild);
createbintree(&(*t)->rchild);
}
}
///
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;
b_tree currentnode;
b_tree parentnode;
newnode=(b_tree)malloc(sizeof(treenode));
newnode->data=node;
newnode->right=NULL;
newnode->left=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 create_btree(int *data,int len)
{
b_tree root=NULL;
int i;
for(i=0;i<len;i++)
root=insert_node(root,data[i]);
return root;
}
void inorder(b_tree point)
{
if(point!=NULL)
{
printf("%d",point->data);
inorder(point->left);
inorder(point->right);
}
}