class Lista
Attributes
cabeza[R]
cola[R]
n_elementos[R]
Public Class Methods
new()
click to toggle source
# File lib/refbiblio_alu0100505078/lista.rb, line 6 def initialize() @cabeza=Node.new(nil,nil,nil) @cola=Node.new(nil,nil,nil) @n_elementos=0 end
Public Instance Methods
each() { |value.autor| ... }
click to toggle source
MÉTODO EACH PARA USO DEL ENUMERABLE(SE USA EL AUTOR EN ESTE CASO)
# File lib/refbiblio_alu0100505078/lista.rb, line 13 def each() aux=@cola while aux.next !=nil do yield aux.value.autor # aux=@cola.next aux=aux.next end end
empty?()
click to toggle source
Método que comprueba si la lista está vacía o no
# File lib/refbiblio_alu0100505078/lista.rb, line 56 def empty? if(@cabeza.value==nil) true else false end end
extrae()
click to toggle source
Método para extraer el primer elemento de la lista enlazada.
# File lib/refbiblio_alu0100505078/lista.rb, line 48 def extrae a_aux=@cola @cola=@cola.next @n_elementos=@n_elementos-1 a_aux end
inserta(item)
click to toggle source
Método insertar por el comienzo de la lista enlazada
# File lib/refbiblio_alu0100505078/lista.rb, line 23 def inserta(item) item.each do |n| nodo=Node.new(nil) nodo.value=n if @cabeza.value==nil @cabeza=nodo @cola=nodo else a_cabeza=@cola while a_cabeza.next!=nil do a_cabeza=a_cabeza.next end a_cabeza.next=nodo @cabeza=a_cabeza.next @cabeza.before=a_cabeza end @n_elementos=@n_elementos+1 end end
mostrar()
click to toggle source
Método para mostrar el contenido de la lista desde el principio hasta el final.
# File lib/refbiblio_alu0100505078/lista.rb, line 64 def mostrar aux_cabeza=@cabeza aux_cola=@cola #print "\n de cola hacia adelante:\n " print aux_cola.value while aux_cola.next!=nil do print "\n ->" aux_cola=aux_cola.next print aux_cola.value end print "\n=========================================================\n" end