Program to insert and delete a node from the binary search tree.
#include #include #include #define TRUE 1 #define FALSE 0 struct btreenode {  struct btreenode *leftchild ;  int data ;  struct btreenode *rightchild ; } ; void insert ( struct btreenode **, int ) ; void delete ( struct btreenode **, int ) ; void search ( struct btreenode **, int, struct btreenode **,     struct btreenode **, int * ) ; void inorder ( struct btreenode * ) ; void main( ) {  struct btreenode *bt ;  int req, i = 0, num, a[ ] = { 11, 9, 13, 8, 10, 12, 14, 15, 7 } ;  bt = NULL ;  /* empty tree */  clrscr( ) ;  while ( i  {   insert ( &bt, a[i] ) ;   i++ ;  }  clrscr( ) ;  printf ( "Binary tree before deletion:\n" ) ;  inorder ( bt ) ;  delete ( &bt, 10 ) ;  printf ( "\nBinary tree after deletion:\n" ) ;  inorder ( bt ) ;  delete ( &bt, 14 ) ;  printf ( "\nBinary tree after deletion:\n" ) ;  inorder ( bt ) ;  delete ( &bt, 8 ) ;  printf ( "\nBinary tree after deletion:\n" ) ;  inorder ( bt ) ;  delete ( &bt, 13 ) ;  ...