class Lista

Attributes

cabeza[RW]
cola[RW]
nodo_actual[RW]

Public Class Methods

new(cabeza,cola) click to toggle source
# File lib/alimentos/lista.rb, line 9
def initialize(cabeza,cola)
    @cabeza = cabeza
    @cola = cola
end

Public Instance Methods

each() { |value| ... } click to toggle source
# File lib/alimentos/lista.rb, line 51
def each
    while @cabeza != @cola
        yield @cabeza.value
        @cabeza=@cabeza.prev
    end

    if @cabeza == @cola
       if @cabeza == nil
        nil
       else
        yield @cola.value
       end
    end
end
extraer_inicio() click to toggle source

eliminar el nodo y cambiar los valores al nodo anterior

# File lib/alimentos/lista.rb, line 39
def extraer_inicio()
   @cola=@cola.next
end
extrar_final() click to toggle source
# File lib/alimentos/lista.rb, line 43
def extrar_final()
   @cabeza = @cabeza.prev
end
insertar(x) click to toggle source
# File lib/alimentos/lista.rb, line 14
def insertar(x)
    node = Nodo.new(x,nil,nil)

    if @cabeza==nil && @cola==nil
            node.prev = @cola
            node.next = @cabeza
            @nodo_actual = node
            @cabeza = node
            @cola = node
    else
            node.prev = @cabeza
            node.next = nil
            @nodo_actual = node
            @cabeza.next = node
            @cabeza = node
    end
end
insertar_varios(nodos) click to toggle source
# File lib/alimentos/lista.rb, line 32
def insertar_varios(nodos)
    nodos.each do |nd|
            insertar(nd)
    end
end
to_s() click to toggle source
# File lib/alimentos/lista.rb, line 47
def to_s
     @cabeza.to_s 
end