瀏覽代碼

Merge branch 'master' of https://github.com/epukaza/natalie_code

Natalie Pueyo 8 年之前
父節點
當前提交
aeeb4bdbfa
共有 1 個文件被更改,包括 12 次插入3 次删除
  1. 12 3
      program3/AVLCommands.cpp

+ 12 - 3
program3/AVLCommands.cpp

@@ -365,10 +365,19 @@ int AVLCommands::DeleteMin(std::shared_ptr<BSTNode> currentNode) {
 	} else {
 		// lastNode under the root
 		if (lastNode->right_ != nullptr) {
-			parent->left_ = lastNode->right_;
-			lastNode->right_->parent_ = parent;
+			if (parent->left_ == lastNode){
+				parent->left_ = lastNode->right_;
+				lastNode->right_->parent_ = parent;
+			} else {
+				parent->right_ = lastNode->right_;
+				lastNode->right_->parent_ = parent;
+			}
 		} else {
-			parent->left_ = nullptr;
+			if (parent->left_ == lastNode){
+				parent->left_ = nullptr;
+			} else {
+				parent->right_ = nullptr;
+			}
 		}
   }
 	size_--; assert(size_ >= 0);