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);
 }
예제 #2
0
 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);
 }
예제 #4
0
 protected override void PonerItemActual(Tipo prmItem)
 {
     atrNodoActual.ponerItem(prmItem);
 }