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