生活随笔
收集整理的這篇文章主要介紹了
2021-10-11 二叉树 删除结点 (用到parent指针)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
太惡心了,三種情況理解就好
void BinarySearchTreesZH::remove(Node
*node
)
{if (node
->left
!= nullptr && node
->right
!= nullptr){node
->element
= predecessor(node
)->element
;remove(predecessor(node
));}else if (node
->left
== nullptr && node
->right
== nullptr) {if (node
->parent
== nullptr) {node
= nullptr;}if (node
== node
->parent
->left
) {node
->parent
->left
= nullptr;}if (node
== node
->parent
->right
){node
->parent
->right
= nullptr;}}else{if (node
->parent
== nullptr){if (node
->left
!= nullptr){root
= node
->left
;}else if (node
->right
!= nullptr){root
= node
->right
;}}else if (node
== node
->parent
->left
){if (node
->left
!= nullptr){node
->parent
->left
= node
->left
;node
->left
->parent
= node
->parent
;}else if (node
->right
!= nullptr){node
->parent
->left
= node
->left
;node
->left
->parent
= node
->parent
;}}else if (node
== node
->parent
->right
){if (node
->left
!= nullptr){node
->parent
->right
= node
->left
;node
->left
->parent
= node
->parent
;}else if (node
->right
!= nullptr){node
->parent
->right
= node
->left
;node
->left
->parent
= node
->parent
;}}}
}
總結(jié)
以上是生活随笔為你收集整理的2021-10-11 二叉树 删除结点 (用到parent指针)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。