0
我正在使用标准过程删除树的所有节点,遍历后有序并删除节点。当我使用前序遍历来显示空树时,我得到访问冲突错误,我相信这与空指针有关。在删除树的节点时出现访问冲突错误
void deleteallnodes(struct node **head){
if(*head==NULL)
return ;
{
deleteallnodes(&((*head)->left));
deleteallnodes(&((*head)->right));
free(*head);
}
}
void main() {
insert(&root,5);
insert(&root,10);
insert(&root,2);
deleteallnodes(&root);
preorder(root);
}
void preorder(struct node *root)
{
if (root)
{
printf("\t %d",root->data);
preorder(root->left);
preorder(root->right);
}
}
这个问题与你的'deleteallnodes'函数无关。发布预订代码;那是你问题的地方是 – smac89