- #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=