class List::List
Attributes
fin[RW]
ini[RW]
Public Class Methods
new(valor)
click to toggle source
# File lib/bibliografia/list.rb, line 11 def initialize(valor) nodo = Node.new(valor,nil,nil) @ini = nodo @fin = nodo end
Public Instance Methods
borrar()
click to toggle source
# File lib/bibliografia/list.rb, line 55 def borrar() while @ini!=nil do dummy=@ini @ini = @ini.next dummy=nil if(@ini==nil) @fin=nil end end end
each() { |nil| ... }
click to toggle source
# File lib/bibliografia/list.rb, line 103 def each dummy = @ini if(@ini==nil and @fin==nil) yield nil elsif (@ini==@fin) yield @ini.value else while(dummy != nil) yield dummy.value dummy = dummy.next end end end
extraer_ini()
click to toggle source
# File lib/bibliografia/list.rb, line 17 def extraer_ini() if (@ini != nil) dummy = @ini if(@ini==@fin) @fin=@fin.next end @ini = @ini.next return dummy else return nil end end
insertar_elemento(valor)
click to toggle source
# File lib/bibliografia/list.rb, line 31 def insertar_elemento(valor) nodo = Node.new(valor,nil,nil) if (@ini == nil) @ini = nodo @fin = nodo elsif (@ini==@fin) @ini=nodo @ini.next = @fin @fin.prev = @ini else aux = @ini @ini = nodo @ini.next = aux aux.prev = @ini end end
insertar_varios(vector)
click to toggle source
# File lib/bibliografia/list.rb, line 49 def insertar_varios(vector) vector.each do |i| insertar_elemento(i) end end
ordenar()
click to toggle source
# File lib/bibliografia/list.rb, line 127 def ordenar() auxfin = @fin while (auxfin!=@ini) aux = @ini while (aux!=auxfin) if (aux.value>aux.next.value) dummy = aux.value aux.value = aux.next.value aux.next.value = dummy end aux = aux.next end auxfin = auxfin.prev end end
recorrer_final()
click to toggle source
# File lib/bibliografia/list.rb, line 89 def recorrer_final vector = [] aux = @fin i = 0 while aux!=nil do vector[i]=aux.value aux=aux.prev i=i+1 end return vector end
recorrer_inicio()
click to toggle source
# File lib/bibliografia/list.rb, line 75 def recorrer_inicio vector = [] aux = @ini i = 0 while aux!=nil do vector[i]=aux.value aux=aux.next i=i+1 end return vector end
vacia()
click to toggle source
# File lib/bibliografia/list.rb, line 66 def vacia() if(@ini == nil) return true else return false end end