繁体   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