protected override bool ModificarEn(int prmIndice, Tipo prmItem) { if (EstaVacia()) { if (prmIndice == 0) { atrNodoPrimero.ponerItem(prmItem); return(true); } if (prmIndice == atrLongitud - 1) { atrNodoUltimo.ponerItem(prmItem); return(true); } if (EsValido(prmIndice)) { clsNodoDobleEnlazado <Tipo> varNodoActual = atrNodoPrimero; for (int VarIndice = 1; VarIndice <= prmIndice; VarIndice++) { varNodoActual = varNodoActual.darSiguiente(); } varNodoActual.ponerItem(prmItem); return(true); } } return(false); }
protected override bool IntercambiarEntre(int prmIndice1, int prmIndice2) { if (EsValido(prmIndice1) && EsValido(prmIndice2)) { if (prmIndice1 != prmIndice2) { IrIndice(prmIndice1); clsNodoDobleEnlazado <Tipo> varNodoIndice1 = atrNodoActual; IrIndice(prmIndice2); clsNodoDobleEnlazado <Tipo> varNodoIndice2 = atrNodoActual; if (varNodoIndice1 != null && varNodoIndice2 != null) { Tipo varItemIndice1 = varNodoIndice1.darItem(); varNodoIndice1.ponerItem(varNodoIndice2.darItem()); varNodoIndice2.ponerItem(varItemIndice1); return(true); } } } return(false); }
protected override bool ModificarEn(int prmIndice, Tipo prmItem) { if (!EstaVacia()) { #region modificar en 0 if (prmIndice == 0) { atrNodoPrimero.ponerItem(prmItem); if (atrLongitud == 1) { atrNodoUltimo = atrNodoPrimero; } return(true); } #endregion #region modificar en longitud if (prmIndice == atrLongitud - 1) { atrNodoUltimo.ponerItem(prmItem); return(true); } #endregion #region modificar en n posicion if (EsValido(prmIndice)) { clsNodoDobleEnlazado <Tipo> varNodoModificado = atrNodoPrimero; for (int varIndice = 1; varIndice <= prmIndice; varIndice++) { varNodoModificado = varNodoModificado.darSiguiente(); } varNodoModificado.ponerItem(prmItem); return(true); } #endregion } return(false); }
protected override void PonerItemActual(Tipo prmItem) { atrNodoActual.ponerItem(prmItem); }