#include struct Tree { int info; Tree *left; Tree *right; }; Tree *insert(Tree *root, int value); Tree *search(Tree *root, int value); void traverseInOrder(Tree *root,std::vector &vec); Tree *rebuild(std::vector *vec, int start, int end); Tree *balance(Tree *root); void deleteTree(Tree *root);