8.menu Driven For Transversal Tree
8.menu Driven For Transversal Tree
code:-
#include <stdio.h>
#include <stdlib.h>
struct BST
int data;
};
NODE *node;
if (node == NULL)
NODE *temp;
temp= (NODE*)malloc(sizeof(NODE));
temp->data = data;
return temp;
{
node -> right = createtree(node->right, data);
return node;
if(node == NULL)
node->left=search(node->left, data);
node->right=search(node->right, data);
else
return node;
if(node != NULL)
inorder(node->left);
printf("%d\t", node->data);
inorder(node->right);
if(node != NULL)
printf("%d\t", node->data);
preorder(node->left);
preorder(node->right);
if(node != NULL)
postorder(node->left);
postorder(node->right);
printf("%d\t", node->data);
if(node==NULL)
return NULL;
if(node->left)
return findMin(node->left);
else
return node;
NODE *temp;
if(node == NULL)
else
{ /* Here we will replace with minimum element in the right sub tree */
temp = findMin(node->right);
else
temp = node;
if(node->left == NULL)
node = node->right;
node = node->left;
}
}
return node;
void main()
NODE *root=NULL;
while (1)
printf("\n4.Inorder\n5.Preorder\n6.Postorder\n7.Exit");
scanf("%d", &ch);
switch (ch)
scanf("%d", &n);
scanf("%d", &data);
root=createtree(root, data);
break;
scanf("%d", &data);
root=search(root, data);
break;
root=del(root, data);
break;
inorder(root);
break;
preorder(root);
break;
postorder(root);
break;
case 7: exit(0);
default:printf("\nWrong option");
break;
}
Output:-
4.Inorder
5.Preorder
6.Postorder
7.Exit
Enter N value: 8
23
11
16
32
94
12
45
4.Inorder
5.Preorder
6.Postorder
7.Exit
6 11 12 16 23 32 45 94
4.Inorder
5.Preorder
6.Postorder
7.Exit
Preorder Traversal:
23 11 6 16 12 32 94 45
4.Inorder
5.Preorder
6.Postorder
7.Exit
Postorder Traversal:
6 12 16 11 45 94 32 23
4.Inorder
5.Preorder
6.Postorder
7.Exit