Tree Findmin(Tree t) { if(t->left==NULL) return t; else return Findmin(t->left); }
Tree Delete(int n,Tree t) { Tree t1; if(n<t->data) Delete(n,t->left); else if(n>t->data) Delete(n,t->right); else if(t->left&&t->right) { t1=Findmin(t->right); t->data=t1->data; t->left=Delete(t->data,t->right); } else { if(t->left==NULL) t=t->right; else t=t->left; } return t; }
int Findmin(BSTnode *root){ if(root == NULL) return INT_MAX; return min(root->val, Findmin(root->left) ); }