bool ArbolB<g>::remove(int valor){ Nodo *aux = raiz; while(aux) if(aux->remove(valor)){ if(aux->tieneHijos()) aux = aux->mayorDeLosMenores(); rebalancear(aux); --n; return true; }else aux = aux->getSon(valor); return false; }
bool ArbolB<g>::insert(int valor){ Nodo *aux = raiz; while(aux){ if(!aux->tieneHijos()){ if(aux->insert(valor)){ rebalancear(aux); ++n; return true; }else return false; }else { aux = aux->getSon(valor); if(!aux) return false; } } raiz = new (nothrow) Nodo(valor, NULL); if(!raiz) throw NoHayMemoria(); ++n; return true; }