Wednesday, 29 October 2014

binary tree

#include<stdio.h>
typedef struct link
{
    struct link *left;
    int data;
    struct link *right;
}node;
node *tree=NULL;
node *insert(node*,int);
int main()
{
    int val;
    printf("\n Enter the data:");
    scanf("%d",&val);
    tree=insert(tree,val);
    int search();
    return 0;
}
node *insert(node *tree,int val)
{
    if(tree==NULL)
    {
        tree=(node*)malloc(sizeof(node));
        tree->data=val;
        tree->left=tree->right=NULL;
    }
        else if(val>tree->data)
        {
            tree->right=insert(tree->right,val);
        }
        else if(val<tree->data)
        {
            tree->left=insert(tree->left,val);
        }
        else
        {
            printf("\n Duplicate value");
        }
        return(tree);
}
void search(node *tree,int v)
{
    if(tree==NULL)
    {
        printf("\n Search successful");
        return;
    }
    else if(tree->data==v)
    {
        printf("\n Search successful");
        return;
    }
    else if(v>tree->data)
    {
        search(tree->right,v);
    }
    else
    {
        search(tree->left,v);
    }
}

1 comment:

Note: only a member of this blog may post a comment.