想为二叉搜索树写一个析构函数(它应该删除树中的所有节点)这是我到目前为止得到的
virtual ~BST() {
BSTNode<Data>* node = root;
if (node == NULL){
return;
}else if (node->left) {
while(node->left){
delete node;
}
}else if (node->right){
while(node->right)
delete node;
}
isize = 0;
}
我知道代码有问题,我该如何解决
最佳答案
void BST::deleteNode(BSTNode<Data> *node) {
if (node) {
deleteNode(node->left);
deleteNode(node->right);
delete node;
}
}
BST::~BST() {
deleteNode(root);
}
关于c++ - 二叉搜索树代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15959699/