public void conectar(nodoDoble x, nodoDoble y) { if (y == null) { if (primero == null) { ultimo = x; } else { x.asignaLd(primero); primero.asignaLi(x); } primero = x; return; } if (y == ultimo) { x.asignaLi(y); y.asignaLd(x); ultimo = x; } else { x.asignaLi(y); x.asignaLd(y.retornaLd()); y.asignaLd(x); y.retornaLd().asignaLi(x); } }
public void desconectar(nodoDoble x) { if (primero == x) { primero = x.retornaLd(); if (primero == null) { ultimo = null; } else { primero.asignaLi(null); } return; } if (x == ultimo) { ultimo = x.retornaLi(); ultimo.asignaLd(null); } else { x.retornaLi().asignaLd(x.retornaLd()); x.retornaLd().asignaLi(x.retornaLi()); } }