protected override bool InsertarEn(int prmIndice, Tipo prmItem) { clsNodoDobleEnlazado <Tipo> varNodoNuevo = new clsNodoDobleEnlazado <Tipo>(prmItem); if (EstaVacia()) { atrNodoPrimero = varNodoNuevo; atrNodoUltimo = varNodoNuevo; atrNodoPrimero.ponerSiguiente(atrNodoUltimo); atrNodoUltimo.ponerAnterior(atrNodoPrimero); atrLongitud++; return(true); } if (prmIndice == 0) { varNodoNuevo.ponerSiguiente(atrNodoPrimero); atrNodoPrimero.ponerAnterior(varNodoNuevo); atrNodoPrimero = varNodoNuevo; atrLongitud++; return(true); } if (prmIndice == atrLongitud) { //atrNodoUltimo.ponerSiguiente(varNodoNuevo); //varNodoNuevo.ponerAnterior(atrNodoUltimo); atrNodoUltimo.ConectarSiguiente(varNodoNuevo); atrNodoUltimo = varNodoNuevo; atrLongitud++; return(true); } if (IrIndice(prmIndice - 1)) { //varNodoNuevo.ponerSiguiente(atrNodoActual); //varNodoNuevo.ponerAnterior(atrNodoActual.darAnterior()); //atrNodoActual.darAnterior().ponerSiguiente(varNodoNuevo); //atrNodoActual.ponerAnterior(varNodoNuevo); atrNodoActual.ConectarSiguiente(varNodoNuevo); atrLongitud++; return(true); } return(false); }