Subscribe Us

Responsive Advertisement

Advertisement

BST (Binary Search Tree) : Non-recursive Implementation Using C

 

BST (Binary Search Tree) : Non-recursive Implementation Using C





#include<stdio.h>

struct node

{

    int data;

    struct node *left;

    struct node *right;


};

struct node *binary_tree(struct node *head, int val)

{

       struct node *temp,*newhead;

       newhead=(struct node *)malloc(sizeof(struct node));

       newhead->data=val;

       newhead->left=NULL;

       newhead->right=NULL;

       temp=head;

       if(temp==NULL)

       {

          return newhead;

       }

     while(1)

     {

         if(val<=temp->data)

         {

             if(temp->left==NULL)

             {

                 temp->left=newhead;

                break;

             }

             else temp=temp->left;

         }

         else

         {

              if(temp->right==NULL)

             {

                 temp->right=newhead;

                 break;

             }

             else temp=temp->right;

         }



     }

     return head;


};

inorder(struct node *head)

{

    if(head!=NULL)

    {

        inorder(head->left);

        printf("%d ",head->data);

        inorder(head->right);

    }

}

int main()

{

    int n,i;

    struct node *root=NULL;

    for(i=1;i<=5;i++)

    {

        printf("Enter a value : ");

        scanf("%d",&n);

        root=binary_tree(root,n);

    }

    inorder(root);


    return 0;

}


Post a Comment

0 Comments