class Lista
@author Miguel Jiménez Gomis Esta clase representa una lista doblemente enlazada
Attributes
head[R]
Esto permite la lectura de la cola y la cabeza de la lista
tail[R]
Esto permite la lectura de la cola y la cabeza de la lista
Public Class Methods
new(val)
click to toggle source
# File lib/nutrientes/lista.rb, line 11 def initialize(val) @head = Node.new(val, nil, nil) @tail = @head end
Public Instance Methods
each() { |value| ... }
click to toggle source
Metodo each para que la clase sea enumerable
# File lib/nutrientes/lista.rb, line 67 def each actual = @head while actual != nil do yield actual.value actual = actual.next_ end end
extraer_cola()
click to toggle source
Extrae el nodo final de la lista
@return retorna el ultimo nodo de la lista
# File lib/nutrientes/lista.rb, line 47 def extraer_cola dummy = @tail.value @tail = @tail.prev @tail.next_ = nil return dummy end
extraer_head()
click to toggle source
Extrae el nodo final inicial
@return retorna el primer nodo de la lista
# File lib/nutrientes/lista.rb, line 37 def extraer_head dummy = @head.value @head = @head.next_ @head.prev = nil return dummy end
insertar_nodo_cola(val)
click to toggle source
Inserta un nodo al final de la cola
@param val Cualquier objeto que se quiera como valor
# File lib/nutrientes/lista.rb, line 19 def insertar_nodo_cola(val) aux = Node.new(val,nil,@tail) @tail.next_ = aux @tail = aux end
insertar_nodo_head(val)
click to toggle source
Inserta un nodo al inicio de la cola
@param val Cualquier objeto que se quiera como valor
# File lib/nutrientes/lista.rb, line 28 def insertar_nodo_head(val) aux = Node.new(val,@head,nil) @head.prev = aux @head = aux end
to_s()
click to toggle source
Convierte a un string formateado la lista doblemente enlazada
# File lib/nutrientes/lista.rb, line 55 def to_s string = "(" dummy = @head while (dummy != nil) do string += "#{dummy.value.to_s}," dummy = dummy.next_ end string += ")" return string end