Advertisement
SAADQUAMER

Binary_search_tree

Dec 6th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.30 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. typedef struct node
  5. {
  6.     int data;
  7.     struct node *left,*right;
  8. } node;
  9. node*root=NULL,*temp=NULL;
  10.  
  11. void insert(node*temp,node*newnode)
  12. {
  13.     if(newnode->data< temp->data)
  14.     {
  15.         if(temp->left==NULL)
  16.         {
  17.             temp->left=newnode;
  18.         }
  19.         else
  20.         {
  21.             insert(temp->left,newnode);
  22.         }
  23.     }
  24.     else
  25.     {
  26.         if(temp->right==NULL)
  27.         {
  28.             temp->right=newnode;
  29.         }
  30.         else
  31.         {
  32.             insert(temp->right,newnode);
  33.         }
  34.     }
  35. }
  36. int main()
  37. {
  38.     int i,n,f;
  39.     scanf("%d",&n);
  40.     for(i=1; i<=n; i++)
  41.     {
  42.         node*newnode=(node*)malloc(sizeof(node));
  43.         scanf("%d",&newnode->data);
  44.         newnode->left=NULL;
  45.         newnode->right=NULL;
  46.         if(root==NULL)
  47.         {
  48.             root=newnode;
  49.         }
  50.         else
  51.         {
  52.             insert(root,newnode);
  53.         }
  54.     }
  55.     search(root,30);
  56.  
  57. }
  58.  
  59.  
  60. void search(node*temp,int x)
  61. {
  62.  
  63.     if(temp==NULL)
  64.     {
  65.         printf("Not FOUND");
  66.     }
  67.     else if(temp->data==x)
  68.     {
  69.         printf("\n%d IS FOUND",x);
  70.  
  71.     }
  72.     else if(x<temp->data)
  73.     {
  74.         search(temp->left,x);
  75.     }
  76.     else if(x>temp->data)
  77.     {
  78.         search(temp->right,x);
  79.     }
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement