【发布时间】:2015-11-30 22:00:40
【问题描述】:
我正在尝试在 BST 中创建删除功能。 当我尝试删除指针时,出现此错误。 Click to see the image
void delete(Node** root, int data) {
if((*root) == NULL)
return;
else if(data < (*root)->data)
delete(&(*root)->left, data);
else if(data > (*root)->data)
delete(&(*root)->right, data);
else {
printf("%d\n", (*root)->data);
// case 1
if((*root)->left == NULL && (*root)->right == NULL) {
free((*root));
printf("wssal");
}
}
}
[1]: http://i.stack.imgur.com/42K5L.png
【问题讨论】:
-
您说“这个错误”,但没有描述任何错误。
-
点击链接“问题视图”
-
请提供Minimal Complete and Verifiable Example。发布指向外部图像的链接也不是一种好的形式。只需将输出作为文本粘贴到带有描述的问题中。
-
尝试使用
-Wall -Wextra编译,看看编译过程中是否弹出任何额外的错误。还可以尝试使用诸如GDB之类的调试器或诸如valgrind之类的内存调试器来确定错误发生的确切位置。 -
该链接显示了一堆看起来不是问题或错误的数字。也不清楚上面的代码如何生成该输出。
标签: c binary-search-tree free