簡體   English   中英

二叉搜索樹刪除

[英]Binary Search Tree deletion

我是編程初學者,目前正在學習 bst。 我發現了幾個刪除 bst 的函數,但在我看來它們過於復雜。 所以我很感興趣,如果我自己的代碼清理所有內存,二叉搜索樹的每個指針和值。

void deletebst (Node*& node)
{
if (node!=NULL)
{
deletebst (node->ldes); //deletes a left descendant recursively
deletebst (node->rdes); //same but with the right one
delete node; //deletes the value which a pointer 'node' points to
node=NULL; //sets a pointer 'node' to NULL, so deletes a pointer itself
}
}

正如評論部分所指出的,刪除后無需設置 node = NULL。 其余的代碼很好。 干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM