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