Program to maintain a threaded binary tree.
#include #include #include enum boolean {  false = 0,  true = 1 } ; struct thtree {  enum boolean isleft ;  struct thtree *left ;  int data ;  struct thtree *right ;  enum boolen isright ; } ; void insert ( struct thtree **, int ) ; void delete ( struct thtree **, int ) ; void search ( struct thtree **, int, struct thtree **,     struct thtree **, int * ) ; void inorder ( struct thtree * ) ; void deltree ( struct thtree ** ) ; void main( ) {  struct thtree *th_head ;  th_head = NULL ;  /* empty tree */  insert ( &th_head, 11 ) ;  insert ( &th_head, 9 ) ;  insert ( &th_head, 13 ) ;  insert ( &th_head, 8 ) ;  insert ( &th_head, 10 ) ;  insert ( &th_head, 12 ) ;  insert ( &th_head, 14 ) ;  insert ( &th_head, 15 ) ;  insert ( &th_head, 7 ) ;  clrscr( ) ;  printf ( "Threaded binary tree before deletion:\n" ) ;  inorder ( th_head ) ;  delete ( &th_head, 10 ) ;  printf ( "\nThreaded binary tree after deletion:\n" ) ;  inorder ( th_he...