/* Busco la clave a juntar con los nodos */
std::list<BTreeData *>::iterator it = nkpadre.begin ();
+ std::list<BTreeData *>::iterator sig;
Clave *cpadre;
BTreeData *lchild = (*it++);
if (lchild->getChild () == node1) {
cpadre = (*it)->getClave ();
+ nkpadre.erase (it);
} else {
while (it != nkpadre.end ()) {
if ((*it)->getChild () == node1)
it++;
}
cpadre = (*it)->getClave ();
+ nkpadre.erase (it);
}
+ sig = it++;
std::list<BTreeData *> newkeys;
std::list<BTreeData *>::iterator i;
WriteKeys (npadre, nhp, newkeys);
WriteNodoHeader (npadre, &nhp);
WriteBlock (npadre, padre);
+
+ /* TODO: Recuperar nodo1 y nodo2 */
} else {
- std::cout << "TODO : Fundir en NO PADRE" << std::endl;
+ WriteKeys (n1, nh1, newkeys);
+ WriteNodoHeader (n1, &nh1);
+ WriteBlock (n1, node1);
+
+ /* TODO : Recuperar node2 */
+ /* Actualizo punero al padre */
+ (*sig)->setChild (node1);
+ WriteKeys (npadre, nhp, nkpadre);
+ WriteNodoHeader (npadre, &nhp);
+ WriteBlock (npadre, padre);
}
DeleteKeys (nk1);