#include <stdio.h>
#include<stdlib.h>
struct node
{struct node *left;
struct node* right;
int element;
};
void insert(struct node **node,int x)
{
if(*node==NULL)
{
*node
= malloc(sizeof(*node
)); (*node)->element=x;
(*node)->left=NULL;
(*node)->right=NULL;
}else{
if(x<(*node)->element)
{
insert(&((*node)->left),x);
}
else
{insert(&((*node)->right),x);}
}
}
void inorder(struct node *base)
{
if(base!=NULL)
{inorder(base->left);
inorder(base->right);
}
}
int main(int argc, char *argv[])
{struct node *base;
base->element=1;
base->left=NULL;
base->right=NULL;
insert(&base,25);
insert(&base,30);
inorder(base);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgoKc3RydWN0IG5vZGUKe3N0cnVjdCBub2RlICpsZWZ0OwpzdHJ1Y3Qgbm9kZSogcmlnaHQ7CmludCBlbGVtZW50Owp9OwoKCgp2b2lkIGluc2VydChzdHJ1Y3Qgbm9kZSAqKm5vZGUsaW50IHgpCnsKICAgIGlmKCpub2RlPT1OVUxMKQogICAgewogICAgCSpub2RlID0gbWFsbG9jKHNpemVvZigqbm9kZSkpOwogICAgCSgqbm9kZSktPmVsZW1lbnQ9eDsKICAgIAkoKm5vZGUpLT5sZWZ0PU5VTEw7CiAgICAJKCpub2RlKS0+cmlnaHQ9TlVMTDsKICAJfWVsc2V7CiAgCQlpZih4PCgqbm9kZSktPmVsZW1lbnQpCiAgICAgICAgewogICAgICAgIAlpbnNlcnQoJigoKm5vZGUpLT5sZWZ0KSx4KTsKICAgICAgICAJfQogICAgZWxzZQogICAgICAgIHtpbnNlcnQoJigoKm5vZGUpLT5yaWdodCkseCk7fQogICAgfQp9CnZvaWQgaW5vcmRlcihzdHJ1Y3Qgbm9kZSAqYmFzZSkKewogICAgaWYoYmFzZSE9TlVMTCkKICAgIHtpbm9yZGVyKGJhc2UtPmxlZnQpOwogICAgcHJpbnRmKCIlZCAiLGJhc2UtPmVsZW1lbnQpOwogICAgaW5vcmRlcihiYXNlLT5yaWdodCk7CiAgICB9Cn0KCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQp7c3RydWN0IG5vZGUgKmJhc2U7CmJhc2UgPSBtYWxsb2Moc2l6ZW9mKCpiYXNlKSk7CmJhc2UtPmVsZW1lbnQ9MTsKYmFzZS0+bGVmdD1OVUxMOwpiYXNlLT5yaWdodD1OVUxMOwppbnNlcnQoJmJhc2UsMjUpOwppbnNlcnQoJmJhc2UsMzApOwppbm9yZGVyKGJhc2UpOwoKCgogICAgcmV0dXJuIDA7Cn0=