#include #include typedef struct searchtree { int element; struct searchtree *left,*right; }*root; typedef struct searchtree *node; typedef int ElementType; void EX1(); void EX2(); node insert(ElementType,node); void display(node,int); void main() { int ch=0; ElementType a; node temp; root=NULL; while(1) { printf("\n1. Insert\n 2.Display\n3. Exit\nEnter Your Choice:"); scanf("%d",&ch); switch(ch) { case 1: EX1(); break; case 2: EX2(); break; case 3: printf("Good bye!\n"); } } } void EX1() { printf("Enter an element:"); scanf("%d", &a); root = insert(a,root); } void EX2() { if(root==NULL) printf("\nEmpty tree"); else display(root,1); } node insert(ElementType x,node t) { if(t==NULL) { t = (node)malloc(sizeof(node)); t->element = x; t->left = t->right = NULL; } else { if(x < t->element) t->left = insert(x, t->left); else if(x > t->element) t->right = insert(x, t->right); } return t; } void display(node t,int level) { int i; if(t) { display(t->right, level+1); printf("\n"); for(i=0;ielement); display(t->left, level+1); } }