我想删除BST,我的程序可以运行,但是,我不知道,AddressSanitizer发现错误。
void clear_maxlist(max_list* position){
if(position == NULL)
return;
clear_maxlist(((position)->left));
clear_maxlist(((position)->right));
free(position);
}
我收到此错误:
==6643==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x0000004039c1 bp 0x7ffdc2a35f20 sp 0x7ffdc2a35f10 T0)
答案 0 :(得分:0)
您的树中必须有一个节点,其left
或right
指针应为NULL
,但不是。因此,构造树的代码中肯定有错误。