這是我用來創建BST的節點。我將如何釋放這棵樹。下面是我嘗試過的嘗試,但我不太清楚如何釋放str。如何釋放一個包含char指針的BST?
typedef struct tree_s tree_t;
struct tree_s
{
char *str;
tree_t *left;
tree_t *right;
};
void freeTree(tree_t *tree) {
if (tree == NULL)
{
return;
}
/* first delete both subtrees */
freeTree(tree->left);
free(tree->str);
freeTree(tree->right);
/* then delete the node */
free(tree);
}
你是如何分配「str」開始的? – selbie
@selbie我malloc'd它 – Kyuu
一旦你刪除了整棵樹,第二次當你將再次添加節點時,你可能會得到錯誤,因爲你一定沒有將'root'的值改爲** NULL ** – surajsn