Method: List#delete

Defined in:
lib/exam/list.rb

#delete(nodo) ⇒ Object

Método que permite eliminar un nodo de lista independientemente de su posición en ella.



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/exam/list.rb', line 69

def delete(nodo)
   if nodo == @cola
      contenido = @cola.value
      @cola = nodo.anterior
      @cola.next = nil
      
   else
      if nodo == @cabeza 
         
         pullHead(nodo)
         
      else
         actual = @cabeza
         while actual != nodo
            actual = actual.next
         end
         anterior = actual.anterior
         siguiente = actual.next
         anterior.next = siguiente
         siguiente.anterior = anterior
         contenido = siguiente.value
      end
     
   end
   contenido
end