void BST<T>::postOrderDelete(Node<T>* t) { if (t != 0) { postOrderDelete(t->getLeftChild()); postOrderDelete(t->getRightChild()); delete t; } }
/* postOrderDelete *********************************************************************** * * @params: none * * @modifies: traverse game tree in post order and deletes each node * * @returns: nothing ****************************************************************************************/ void GST::postOrderDelete(GSTNode* node) { if (node != nullptr) { postOrderDelete(node->childPtr); GSTNode* pTemp = node->siblingPtr; delete node; postOrderDelete(pTemp); } }
/* clearTree ***************************************************************************** * * @params: none * * @modifies: calls postOrderDelete to delete game board * * @returns: nothing ****************************************************************************************/ void GST::clearTree() { postOrderDelete(root); }
BST<T>::~BST() { postOrderDelete(root); }