class Lista
Attributes
fin[RW]
inicio[RW]
tamanio[RW]
Public Class Methods
new()
click to toggle source
Constructor
# File lib/referencia/lista.rb, line 6 def initialize @inicio = Node.new(nil) @fin = Node.new(nil) @tamanio = 0 end
Public Instance Methods
each() { |value| ... }
click to toggle source
# File lib/referencia/lista.rb, line 76 def each aux =self.inicio while aux.next != nil do yield aux.value aux = aux.next end end
extraerPrimerElemento()
click to toggle source
Extrae el primer elemento de la lista
# File lib/referencia/lista.rb, line 65 def extraerPrimerElemento @tamanio = @tamanio-1 @inicio = @inicio.next end
extraerUltimoElemento()
click to toggle source
Extrae el Ășltimo elemento de la lista
# File lib/referencia/lista.rb, line 71 def extraerUltimoElemento @tamanio = @tamanio-1 @fin = @fin.previus @fin.next = nil end
insertar_final(*a_elemento)
click to toggle source
Inserta uno o varios elementos por el final (cabeza)
# File lib/referencia/lista.rb, line 12 def insertar_final(*a_elemento) a_elemento.each do |elemento| a_aux = Node.new(nil) a_aux.value = elemento if(@inicio.value == nil) @inicio = a_aux @fin = a_aux else a_aux.previus = @fin @fin.next = a_aux @fin = a_aux end @tamanio=@tamanio+1 end end
insertar_inicio(*a_elemento)
click to toggle source
Inserta uno o varios elementos por el principio (cola)
# File lib/referencia/lista.rb, line 29 def insertar_inicio(*a_elemento) a_elemento.each do |elemento| a_aux = Node.new(nil) a_aux.value=elemento if(@inicio.value == nil) @inicio = a_aux @fin = a_aux @tamanio=@tamanio+1 else a_aux.next = @inicio @inicio.previus = a_aux @inicio = a_aux end @tamanio = @tamanio+1 end end
mostar_fin_inicio()
click to toggle source
Muestra la lista desde el final hasta el principio
# File lib/referencia/lista.rb, line 56 def mostar_fin_inicio aux = @fin p @fin.value while aux.previus do aux = aux.previus p aux.value end end
mostar_inicio_fin()
click to toggle source
Muestra la lista desde el inicio hasta el final
# File lib/referencia/lista.rb, line 47 def mostar_inicio_fin aux = @inicio p @inicio.value while aux.next do aux = aux.next p aux.value end end