Пример #1
0
LinkLinkIt::itPunLinks LinkLinkIt::itPunLinks::BuscarMax(Fecha f){
     itPunLinks res = itPunLinks(*this);
    while(HaySiguiente())
    {
        if(cantAccesosDesde(f) > res.cantAccesosDesde(f))
        {
            res = itPunLinks(*this);
        }
        Avanzar();
    }
    return res;
}
Пример #2
0
bool LinkLinkIt::itPunLinks::estaOrdenada(Fecha fecha){
    bool res = true;
    int aux = cantAccesosDesde(fecha);
    Avanzar();
    while (HaySiguiente()) {
        if (cantAccesosDesde(fecha) > aux) {
            res = false;
        }
        aux = cantAccesosDesde(fecha);
        Avanzar();
    }
    return res;
}
Пример #3
0
Fecha LinkLinkIt::itPunLinks::ultFecha(){
    int res = 0;
    if (!Siguiente()->dameAccesos().EsVacia()) {
        res = Siguiente()->dameAccesos().Ultimo().dameDia();
    }

    while(HaySiguiente())
    {
        if(!Siguiente()->dameAccesos().EsVacia() && res < Siguiente()->dameAccesos().Ultimo().dameDia()){
            res = Siguiente()->dameAccesos().Ultimo().dameDia();
        }
        Avanzar();
    }
    return res;
}
Пример #4
0
Fecha LinkLinkIt::itPuntLinks::ultFecha(){
    int res = 0;
    if (!SiguienteDL()->_accesosRecientes.EsVacia()) {
        res = SiguienteDL()->_accesosRecientes.Ultimo()._dia;
    }

    while(HaySiguiente())
    {
        if(!SiguienteDL()->_accesosRecientes.EsVacia() && res < SiguienteDL()->_accesosRecientes.Ultimo()._dia){
            res = SiguienteDL()->_accesosRecientes.Ultimo()._dia;
        }
        Avanzar();
    }
    return res;
}
Пример #5
0
 /**
  * Avanza a la posición siguiente del iterador.
  * Implementa la función AVANZAR(in/out it: itConj)
  * PRE: { it = it_0 ^ HaySiguiente?(it) }
  * POS: { it = Avanzar(it_0) }
  * Complejidad: O(1)
  */
 void ConjAcotado::const_Iterador::Avanzar() {
     assert(HaySiguiente());
     it.Avanzar();
 }
Пример #6
0
 /**
  * Devuelve el elemento siguiente a la posición del iterador.
  * Implementa la función SIGUIENTE(in it: itConj) -> res : nat
  * PRE: { HaySiguiente?(it) }
  * POS: { res = Siguiente(it) }
  * Complejidad: O(1)
  */
 Nat ConjAcotado::const_Iterador::Siguiente() const {
     assert(HaySiguiente());
     return it.Siguiente();
 }
Пример #7
0
 /**
  * Elimina de la lista iterada el valor que se encuentra en la posición
  * siguiente del iterador.
  * Implmenta la función ELIMINARSIGUIENTE(in/out it: itConj)
  * PRE: { it = it_0 ^ HaySiguiente?(it) }
  * POS: { it = EliminarSiguiente(it_0) }
  * Complejidad: O(1)
  */
 void ConjAcotado::Iterador::EliminarSiguiente() {
     assert(HaySiguiente());
     it.Avanzar();
     conj->Eliminar(it.Anterior());
 }
Пример #8
0
const T& Conj<T>::Iterador::Siguiente() const{
    assert(HaySiguiente());    
    return it.SiguienteClave();
}
Пример #9
0
void Conj<T>::Iterador::EliminarSiguiente() {
    assert(HaySiguiente());
    it.EliminarSiguiente();
}
Пример #10
0
void Conj<T>::Iterador::Avanzar() {
    assert(HaySiguiente());
    it.Avanzar();
}