开发平台(Platform): (Ex: Win10, Linux, ...)
Win 10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VC2017
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
BST中删除的部分
在remove部分中的removeNode函式不太懂
291行上面是处理当删除的是叶节点和目标若
是其中一个无子树的情况
我搞不懂是291行要处理删除目标皆有子树的
情况,tempPtr的指标是由呼叫
removeLeftmostNode得来,我看得懂他是要
找大于删除目标但是是最小的节点,可是他之
后回传是return removeNode(nodePtr),这样
子temp的指标是怎么得到呢?因为如果跳到
removeNode的话不就变的要删掉叶节点,后
来回传就是空指标了temp接下来的程式码不就错了吗?
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
http://codepad.org/paIfmLtw
补充说明(Supplement):
因为只有这边搞不懂所以主程式和其他的标头
档就没有附了,我查了删除是把取代的节点资
料替换,然后删掉最后的叶节点,可是这支程
式码替换的地方看的不是很懂...卡了很久,拜
托各位救我,感谢!