public virtual bool Contem(T valor, out Recorrencia <T> recorrenciaComValor) { if (Atual.CompareTo(valor) == 0) { recorrenciaComValor = this; return(true); } else if (Atual.CompareTo(valor) > 0) { if (AnteriorNaRecorrencia.Atual.CompareTo(valor) < 0) { recorrenciaComValor = null; return(false); } else { recorrenciaComValor = null; return(AnteriorNaRecorrencia.Contem(valor, out recorrenciaComValor)); } } else { if (ProximoNaRecorrencia.Atual.CompareTo(valor) > 0) { recorrenciaComValor = null; return(false); } else { recorrenciaComValor = null; return(ProximoNaRecorrencia.Contem(valor, out recorrenciaComValor)); } } }
public virtual Recorrencia <T> ObtemProximoValorAPassos(int n) { Recorrencia <T> recorrenciaANPassos = this; for (int i = 0; i < n; i++) { recorrenciaANPassos = recorrenciaANPassos.ProximoNaRecorrencia; } return(recorrenciaANPassos); }