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

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

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);
 }
 }

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. Inorder Traversal\n3. Preorder Traversal\n4. Postorder Traversal\n5. 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:
 inorder(root);
 getch();
 break;
 case 3:
 preorder(root);
 getch();
 break;
 case 4:
 postorder(root);
 getch();
 break;
 }
 }while(ch != 5);
 }
OUTPUT
1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 1

Enter Item : 50
1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 1
Enter Item : 30

1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 1
Enter Item : 70

1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 1
Enter Item : 10

1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 1
Enter Item : 40

1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 1
Enter Item : 60

1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 1
Enter Item : 80

1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 2

10 30 40 50 60 70 80

1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 3

50 30 10 40 70 60 80

1. Creation
2. Inorder Traversal
3. Preorder Traversal
4. Postorder Traversal
5. Exit

Enter Your Choice : 4

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