/** * Retrocede a la posición anterior del iterador. * Implementa la función RETROCEDER(in/out it: itConj) * PRE: { it = it_0 ^ HayAnterior?(it) } * POS: { it = Retroceder(it_0) } * Complejidad: O(1) */ void ConjAcotado::const_Iterador::Retroceder() { assert(HayAnterior()); it.Retroceder(); }
/** * Devuelve el elemento anterior a la posición del iterador. * Implementa la función ANTERIOR(in it: itConj) -> res : nat * PRE: { HayAnterior?(it) } * POS: { res = Anterior(it) } * Complejidad: O(1) */ Nat ConjAcotado::const_Iterador::Anterior() const { assert(HayAnterior()); return it.Anterior(); }
/** * Elimina de la lista iterada el valor que se encuentra en la posición * anterior del iterador. * Implmenta la función ELIMINARANTERIOR(in/out it: itConj) * PRE: { it = it_0 ^ HayAnterior?(it) } * POS: { it = EliminarAnterior(it_0) } * Complejidad: O(1) */ void ConjAcotado::Iterador::EliminarAnterior() { assert(HayAnterior()); conj->Eliminar(it.Anterior()); }
const T& Conj<T>::Iterador::Anterior() const{ assert(HayAnterior()); return it.AnteriorClave(); }
void Conj<T>::Iterador::EliminarAnterior() { assert(HayAnterior()); it.EliminarAnterior(); }
void Conj<T>::Iterador::Retroceder() { assert(HayAnterior()); it.Retroceder(); }