#include<stdlib.h>
#include<stdio.h>
#include<string.h>
struct node
{
int data;
struct node* left;
struct node* right;
} * root = NULL;
struct node* insert( struct node * n, int value)
{
if ( n == NULL) {
n
= ( struct node
* ) malloc ( sizeof ( struct node
) ) ; n-> data = value;
n-> left = NULL;
n-> right = NULL;
printf ( "inserted %d\n " , value
) ; return n;
} else {
if ( value == n-> data) {
printf ( "Duplicated Value %d\n " , value
) ; return n;
}
if ( ( n-> data) > value ) {
n-> left = insert( n-> left, value) ;
} else {
n-> right = insert( n-> right, value) ;
}
return n;
}
}
int main( )
{
int a[ 100 ] , i, n;
printf ( "Enter the number of elements : " ) ; for ( i = 0 ; i < n; i++ )
printf ( "After removal of duplicates, the new list is : \n " ) ; for ( i = 0 ; i < n; i++ )
root = insert( root, a[ i] ) ;
return 0 ;
}
I2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPHN0cmluZy5oPgoKc3RydWN0IG5vZGUKeyAgIAogICAgaW50IGRhdGE7CiAgICBzdHJ1Y3Qgbm9kZSogbGVmdDsKICAgIHN0cnVjdCBub2RlKiByaWdodDsKfSAqcm9vdCA9IE5VTEw7CgpzdHJ1Y3Qgbm9kZSogaW5zZXJ0KHN0cnVjdCBub2RlICpuLCBpbnQgdmFsdWUpCnsKICAgIGlmIChuID09IE5VTEwpewogICAgICAgIG4gPSAoc3RydWN0IG5vZGUqKW1hbGxvYyhzaXplb2Yoc3RydWN0IG5vZGUpKTsKICAgICAgICBuLT5kYXRhID0gdmFsdWU7CiAgICAgICAgbi0+bGVmdCA9IE5VTEw7CiAgICAgICAgbi0+cmlnaHQgPSBOVUxMOwogICAgICAgIHByaW50ZigiaW5zZXJ0ZWQgJWRcbiIsIHZhbHVlKTsKICAgICAgICByZXR1cm4gbjsKICAgIH1lbHNlewogICAgICAgIGlmKCB2YWx1ZSA9PSBuLT5kYXRhKXsKICAgICAgICAgICAgcHJpbnRmKCJEdXBsaWNhdGVkIFZhbHVlICVkXG4iLCB2YWx1ZSk7CiAgICAgICAgICAgIHJldHVybiBuOwogICAgICAgIH0KICAgICAgICBpZiAoIChuLT5kYXRhKSA+IHZhbHVlICl7CiAgICAgICAgICAgIG4tPmxlZnQgPSBpbnNlcnQobi0+bGVmdCwgdmFsdWUpOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBuLT5yaWdodCA9IGluc2VydChuLT5yaWdodCwgdmFsdWUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbjsKICAgIH0KfSAgIAoKaW50IG1haW4oKQp7CiAgICBpbnQgYVsxMDBdLCBpLCBuOwogICAgcHJpbnRmKCJFbnRlciB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIDogIik7CiAgICBzY2FuZigiJWQiLCZuKTsKICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgc2NhbmYoIiVkIiwmYVtpXSk7CiAgICBwcmludGYoIkFmdGVyIHJlbW92YWwgb2YgZHVwbGljYXRlcywgdGhlIG5ldyBsaXN0IGlzIDogXG4iKTsKICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgcm9vdCA9IGluc2VydChyb290LCBhW2ldKTsKICAgIHByaW50ZigiXG4iKTsKICAgIHJldHVybiAwOwp9