#include<stdio.h>
#include<stdlib.h>
typedef struct treenode
{
int data;
struct node* left;
struct node* right;
} node;
void insert( node*, int ) ;
void del( ) ;
int BT_add( )
{
node
* root
= ( node
* ) malloc ( sizeof ( node
) ) ; root= NULL;
int select;
int data;
while ( 1 )
{
printf ( "\n ------------Select Work:----------\n " ) ; printf ( "(0)Exit\n (1)Insert(2)Del" ) ; if ( select== 0 )
break ;
switch ( select)
{
case 1 :
insert( root, data) ;
break ;
case 2 :
del( ) ;
break ;
}
}
return 0 ;
}
void insert( node* r, int data)
{
node
* newnode
= ( node
* ) malloc ( sizeof ( node
) ) ; newnode-> left = newnode-> right = NULL;
newnode-> data = data;
if ( r== NULL)
{
r = newnode;
}
else
{
newnode = r;
if ( data<= r-> data)
{
return insert( newnode-> left, data) ;
}
else
{
return insert( newnode-> right, data) ;
}
}
printf ( "%d Insert Success" , data
) ; }
void del( )
{
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CnR5cGVkZWYgc3RydWN0IHRyZWVub2RlCnsKICAgIGludCBkYXRhOwogICAgc3RydWN0IG5vZGUqbGVmdDsKICAgIHN0cnVjdCBub2RlKnJpZ2h0OyAgICAKfW5vZGU7CnZvaWQgaW5zZXJ0KG5vZGUqLGludCk7CnZvaWQgZGVsKCk7CgppbnQgQlRfYWRkKCkKewogICAgbm9kZSAqcm9vdD0obm9kZSopbWFsbG9jKHNpemVvZihub2RlKSk7CiAgICByb290PU5VTEw7CiAgICBpbnQgc2VsZWN0OwogICAgaW50IGRhdGE7CiAgICB3aGlsZSgxKQogICAgewogICAgICAgcHJpbnRmKCJcbi0tLS0tLS0tLS0tLVNlbGVjdCBXb3JrOi0tLS0tLS0tLS1cbiIpOwogICAgICAgcHJpbnRmKCIoMClFeGl0XG4oMSlJbnNlcnQoMilEZWwiKTsKICAgICAgIHNjYW5mKCIlZCIsJnNlbGVjdCk7ICAgICAKICAgICAgIGlmKHNlbGVjdD09MCkKCSAgIHByaW50ZigiXG4iKTsKICAgICAgIGJyZWFrOwogICAgICAgc3dpdGNoKHNlbGVjdCkKICAgICAgIHsKICAgICAgICAgY2FzZSAxOiAgICAgICAgICAKICAgICAgICAgICAgIHByaW50ZigiSW5zZXJ0IERhdGE6Iik7CiAgICAgICAgICAgICBzY2FuZigiJWQiLCZkYXRhKTsKICAgICAgICAgICAgIGluc2VydChyb290LGRhdGEpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgIGRlbCgpOwogICAgICAgICAgICAgYnJlYWs7ICAKICAgICAgIH0gICAgICAgCiAgICB9CiAgICAKICAgICAgc3lzdGVtKCJwYXVzZSIpOwogICAgICByZXR1cm4gMDsgCn0Kdm9pZCBpbnNlcnQobm9kZSpyLGludCBkYXRhKQp7CiAgICAgbm9kZSAqbmV3bm9kZSA9KG5vZGUqKW1hbGxvYyhzaXplb2Yobm9kZSkpOyAKICAgICBuZXdub2RlLT5sZWZ0ID0gbmV3bm9kZS0+cmlnaHQgPU5VTEw7CiAgICAgbmV3bm9kZS0+ZGF0YSA9IGRhdGE7CiAgICAgaWYocj09TlVMTCkKICAgICB7CiAgICAgICAgIHIgPSBuZXdub2RlOyAgCiAgICAgfQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIG5ld25vZGUgPSByOwogICAgICAgICBpZihkYXRhPD1yLT5kYXRhKQogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gaW5zZXJ0KG5ld25vZGUtPmxlZnQsZGF0YSk7ICAgICAgICAgICAKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBpbnNlcnQobmV3bm9kZS0+cmlnaHQsZGF0YSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcHJpbnRmKCIlZCBJbnNlcnQgU3VjY2VzcyIsZGF0YSk7Cn0Kdm9pZCBkZWwoKQp7CiAgICAgCn0K
compilation info
prog.c: In function ‘BT_add’:
prog.c:22: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
prog.c:30: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
prog.c:39: warning: ignoring return value of ‘system’, declared with attribute warn_unused_result
prog.c: In function ‘insert’:
prog.c:56: warning: passing argument 1 of ‘insert’ from incompatible pointer type
prog.c:60: warning: passing argument 1 of ‘insert’ from incompatible pointer type
/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
stdout