some progress was made

This commit is contained in:
Pagwin 2024-11-24 02:08:39 -05:00
parent c3eaa8783b
commit 9cdecb790b
No known key found for this signature in database
GPG key ID: 81137023740CA260

17
Map.hpp
View file

@ -385,8 +385,22 @@ private:
root.value() = std::move(*new_root);
old_root->set_child(!dir, root.value().uchild(dir));
old_root->set_child(!dir, old_root->uchild(dir));
if (old_root->left) {
old_root->left->parent = old_root.get();
}
if (old_root->right) {
old_root->right->parent = old_root.get();
}
root.value().set_child(dir, std::move(old_root));
if (root.value().left) {
root.value().left->parent = &root.value();
}
if (root.value().right) {
root.value().right->parent = &root.value();
}
}
template <bool trace = false>
std::pair<Node *, Direction> locate(const Key_T &key) {
@ -557,6 +571,7 @@ private:
}
return true;
} else if (erasing->right) {
//!!
*erasing = std::move(*erasing->right);
if (erasing->prev != nullptr) {
erasing->prev->next = erasing;