class Lista

Attributes

head[RW]
next_node[RW]
prev_node[RW]
tail[RW]
value[RW]

Public Class Methods

new() click to toggle source
# File lib/referencia/lista.rb, line 11
def initialize
    @head = Nodo.new(nil)
    @head = nil
    @tail = Nodo.new(nil)
    @tail = nil
end

Public Instance Methods

add_final(nodo) click to toggle source
# File lib/referencia/lista.rb, line 40
def add_final(nodo)
    aux = Nodo.new(nodo, nil, nil)
    aux.prev_node = @tail
    @tail.next_node = aux
    @tail = aux
end
add_muchos(nodo) click to toggle source
# File lib/referencia/lista.rb, line 55
def add_muchos(nodo)
    nodo.each do |num| 
        self.add_principio(num)
    end
end
add_principio(nodo) click to toggle source
# File lib/referencia/lista.rb, line 18
def add_principio(nodo)
    aux = Nodo.new(nodo, nil, nil)
    if (@head == nil && @tail == nil)
        @head = aux
        @tail = aux
    else
        aux.next_node = @head
        @head.prev_node = aux
        @head = aux
    end
end
borrar_final() click to toggle source
# File lib/referencia/lista.rb, line 35
def borrar_final
    @tail = @tail.prev_node
    @tail.next_node = nil
end
borrar_principio() click to toggle source
# File lib/referencia/lista.rb, line 30
def borrar_principio
    @head = @head.next_node
    @head.prev_node = nil
end
each() { |value| ... } click to toggle source
# File lib/referencia/lista.rb, line 47
def each
    i = @head
    while (i != nil) 
        yield i.value
        i = i.next_node
    end
end