所以我有一个完整的程序,可以将值添加到二叉树中。然后它可以按前序、后序和按顺序列出值。现在一切都很好,除了当我运行我的deleteAll
函数时它会使程序不稳定,并且在添加值或列出树时随机添加它会产生分段错误。我不完全确定出了什么问题,我对C还是新手,无法掌握导致它的原因。它显然在deleteAll
函数中,所以在这里......
void deleteAll(node* *hd){
node* curr = *hd;
if(curr->left != NULL){
deleteAll(&curr->left);
}
if(curr->right != NULL){
deleteAll(&curr->right);
}
free(curr);
}
在我删除所有并以任何顺序列出后,它会给我诸如 321294124 之类的值,你知道当它不存在时给出的值。所以我认为这没关系,但也许这就是问题所在。