BSTlab 8
BSTlab 8
Integers.
*/
#include <stdio.h>
#include <stdlib.h>
struct BST
int data;
};
/*FUNCTION PROTOTYPE*/
int main()
int choice;
int key;
struct BST *newnode, *root, *tmp;
root = NULL;
do
printf("\n 1.Create");
printf("\n 2.Search");
printf("\n 4.Exit");
scanf("%d", &choice);
switch (choice)
case 1:
do
newnode = get_node();
scanf("%d", &newnode->data);
root = newnode;
else
insert(root, newnode);
scanf("%d",&ans);
} while (ans);
break;
case 2:
printf("\n Enter Element to be searched :");
scanf("%d", &key);
tmp=search(root, key);
if(tmp==NULL)
break;
case 3:
if (root == NULL)
else
inorder(root);
preorder(root);
postorder(root);
break;
{
struct BST *temp;
temp->left = NULL;
temp->right = NULL;
return temp;
if(root->left==NULL)
root->left=newnode;
else
insert(root->left, newnode);
if (root->right == NULL)
root->right = newnode;
else
insert(root->right, newnode);
/*This function is for searching the node from binary Search Tree*/
temp = root;
if (temp->data == key)
flag=1;
return temp;
temp = temp->left;
else
temp = temp->right;
return NULL;
if (temp != NULL)
inorder(temp->left);
printf("%d\t", temp->data);
inorder(temp->right);
}
/*This function displays the tree in preorder fashion */
if (temp != NULL)
printf("%d\t", temp->data);
preorder(temp->left);
preorder(temp->right);
if (temp != NULL)
postorder(temp->left);
postorder(temp->right);
printf("%d\t", temp->data);