void RedBlackTree::elimina_un_hijo(Node *n) { eliminarNodo(n); Node *hijo = es_hoja(n->derecho) ? n->izquierdo : n->derecho; reemplazar_nodo(n, hijo); if (n->color == "NEGRO") { if (hijo->color == "ROJO") hijo->color = "NEGRO"; else eliminar_caso1(hijo); } free(n); }
void RedBlackTree::deleteNode(sf::RenderWindow *w, Node*n) { if(n->estaClick(w)) { eliminarNodo(n); return; } if(n->izquierdo!=NULL) { deleteNode(w,n->izquierdo); } if(n->derecho!=NULL) { deleteNode(w,n->derecho); } }
void eliminarLista(ListaPiso &listaP){ while (! listaVacia(listaP)) eliminarNodo(listaP,primero(listaP)); }
void eliminarNodoUltimo(ListaPiso &listaP){ if (! listaVacia(listaP)) eliminarNodo(listaP,ultimo(listaP)); }
void eliminarNodoPrimero(ListaPiso &listaP){ if (! listaVacia(listaP)) eliminarNodo(listaP,primero(listaP)); }
//******************** void eliminarLista(ListaArtDeposito &listaArtDep){ while (! listaVacia(listaArtDep)) eliminarNodo(listaArtDep,primero(listaArtDep)); }
//******************** void eliminarNodoUltimo(ListaArtDeposito &listaArtDep){ if (! listaVacia(listaArtDep)) eliminarNodo(listaArtDep,ultimo(listaArtDep)); }
//******************** void eliminarNodoPrimero(ListaArtDeposito &listaArtDep){ if (! listaVacia(listaArtDep)) eliminarNodo(listaArtDep,primero(listaArtDep)); }