#include<stdio.h>
#include<conio.h>
#include<malloc.h>

struct node
{
 int data;
 struct node *right, *left;
 };
struct node *nw, *root, *temp;

int key,flag=0;
void creation(struct node *root, struct node *nw)
{
 if(nw -> data < root-> data)
  {
   if(root -> left == NULL)
     root -> left = nw;
    else
     creation(root->left, nw);
   }
  if(nw -> data > root -> data)
   {
    if(root -> right == NULL)
      root -> right = nw;
     else
      creation(root -> right , nw);
    }
 }

int search(struct node *temp,int key)
{
  if(temp != NULL)
   {
    if(key == temp-> data)
    printf("Searching Sucessfull");
    else if(key < temp->data)
      search(temp->left,key);
     else if(key > temp -> data)
       search(temp->right,key);
     }
    else
     printf("Not Found");

 return (key);
}

void inorder(struct node *temp)
{
 if(temp != NULL)
  {
 inorder(temp -> left);
   printf(" %d ",temp->data);
   inorder(temp -> right);
   }
 }

void preorder(struct node *temp)
{
 if(temp != NULL)
  {
   printf(" %d ",temp->data);
   preorder(temp -> left);
   preorder(temp -> right);
   }
 }

void postorder(struct node *temp)
{
 if(temp != NULL)
  {
   postorder(temp -> left);
   postorder(temp -> right);
   printf(" %d ",temp->data);
   }
 }


void main()
{
int ch,item;
root = NULL;
do
{
 clrscr();
   printf("1. Creation \n2. Searching\n3. Inorder\n4. Preorder
  \n5. Postorder\n6. Exit\n\nEnter Your Choice : ");
   scanf("%d",&ch);
    switch(ch)
     {
      case 1:
       {
       printf("Enter Item : ");
       scanf("%d",&item);
 nw= (struct node *)malloc(sizeof(struct node));
 nw -> data = item;
 nw -> left = NULL;
 nw -> right = NULL;
  if(root == NULL)
    root = nw;
   else
    creation(root,nw);
  }
      break;
     case 2:
     clrscr();
 printf("Enter The Number You want to Search: ");
 scanf("%d",&key);
  search(root,key);
      getch();
       break;
     case 3:
       inorder(root);
       getch();
      break;
     case 4:
       preorder(root);
       getch();
      break;
     case 5:
       postorder(root);
       getch();
      break;
    }
  }while(ch != 6);
    getch();
}
OUTPUT 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 1 Enter Element : 50 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 1 Enter Element : 30 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 1 Enter Element : 70 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 1 Enter Element : 10 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 1 Enter Element : 40 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 1 Enter Element : 60 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 1 Enter Element : 80 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 2 Enter The Number You want to Search: 60 Searching Sucessfull 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 3 10 30 40 50 60 70 80 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 4 50 30 10 40 70 60 80 1. Creation 2. Searching 3. Inorder 4. Preorder 5. Postorder 6. Exit Enter Your Choice : 5 10 40 30 60 80 70 50

Leave a Reply

Subscribe to Posts | Subscribe to Comments

All Notes on BCA

All Notes  on BCA
BCA all subjects notes

Total Pageviews

Translate

Powered by Blogger.

Copyright © All Notes on BCA