class Lista
Clase Lista
que representa una lista doblemente enlazada con un inicio y un fin.
Attributes
final[R]
inicio[R]
Public Class Methods
new()
click to toggle source
Constructor de la clase
# File lib/menu/list.rb, line 33 def initialize @inicio = nil @final = nil end
Public Instance Methods
each() { |value| ... }
click to toggle source
Método que recorre la lista y devuelve un vector con los valores de esta, necesario para los métodos de Enumerable (sort,min,max)
# File lib/menu/list.rb, line 12 def each node = @inicio while(node!=nil) yield node.value node = node.next end end
empty()
click to toggle source
Método que comprueba si la lista está vacía
# File lib/menu/list.rb, line 49 def empty if(@inicio == nil) true elsif false end end
extract()
click to toggle source
Método que extrae un valor de la lista (por el inicio)
# File lib/menu/list.rb, line 72 def extract if(empty) nil elsif node = @inicio @inicio = node.next if(!empty) @inicio.prev = nil end node.next = nil node.value end end
get_final()
click to toggle source
Método que obtiene el inicio de la lista
# File lib/menu/list.rb, line 44 def get_final @final end
get_inicio()
click to toggle source
Método que obtiene el inicio de la lista
# File lib/menu/list.rb, line 39 def get_inicio @inicio end
insert(x)
click to toggle source
Método que inserta un valor en la lista (por el final)
# File lib/menu/list.rb, line 58 def insert(x) node = Nodo.new(x,nil,nil) if(empty) @inicio = node @final = node elsif @final.next = node node.prev = @final @final = node end true end
to_s()
click to toggle source
# File lib/menu/list.rb, line 19 def to_s output = "" node = @inicio while(node!=nil) output << "#{node.value}" node = node.next end output end