コード例 #1
0
 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);
     }
 }
コード例 #2
0
 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());
     }
 }