???????????????????????23??????????????????

??????????????£?
????template<class T>
????void BinarySearchTree<T>::remove(const T &x?? BinaryNode<T> *&t) const
????{
????if (t == NULL)
????{
????return;
????}
????if (x < t->element)
????{
????remove(x?? t->left);
????}
????else if (x > t->element)
????{
????remove(x?? t->right);
????}
????else if (t->left != NULL && t->right != NULL)
????{
????// ???????????
????t->element = findMin(t->right)->element;
????remove(t->element?? t->right);
????}
????else if (t->left == NULL && t->right == NULL)
????{
????// ????????????
????delete t;
????t = NULL;
????}
????else if (t->left == NULL || t->right == NULL)
????{
????// ??????????
????BinaryNode *pTemp = t;
????t = (t->left != NULL) ? t->left : t->right;
????delete pTemp;
????}
????}
????makeEmpty???
????makeEmpty????????????????????????????????????????????????????????????????????????к????????
???????
??????????????????з???????????????????????????????????????????????????????????????????????????????????????????????????з??????????????????????Щ??????????????e???????????????????????????AVL????????????????????????????????а?????