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));
}