class Listas
Inicializació de la clase lista
Attributes
cabeza[RW]
cola[RW]
nodo_actual[RW]
Public Class Methods
new(cabeza,cola)
click to toggle source
Método initialize Inicializa los atributos de la clase
# File lib/prct6/listas.rb, line 13 def initialize(cabeza,cola) @cabeza = cabeza @cola = cola end
Public Instance Methods
each() { |value| ... }
click to toggle source
Método each Recorre la lista haciendo yield del valor
# File lib/prct6/listas.rb, line 84 def each while @cabeza != @cola yield @cabeza.value @cabeza=@cabeza.prev end if @cabeza == @cola if @cabeza == nil nil else yield @cola.value end end end
extraer_final()
click to toggle source
Método #extraer_final Extrae un valor por la cola
# File lib/prct6/listas.rb, line 74 def extraer_final() @cabeza = @cabeza.prev end
extraer_inicio()
click to toggle source
Método #extraer_inicio Extrae un valor por la cabeza
# File lib/prct6/listas.rb, line 68 def extraer_inicio() @cola=@cola.next end
insertar_cabeza(x)
click to toggle source
Método #insertar_cabeza Inserta un valor en la lista por la cabeza
# File lib/prct6/listas.rb, line 20 def insertar_cabeza(x) node = Nodo.new(x,nil,nil) if @cabeza==nil && @cola==nil node.prev = @cola node.next = @cabeza @nodo_actual = node @cabeza = node @cola = node else node.prev = @cabeza node.next = nil @nodo_actual = node @cabeza.next = node @cabeza = node end end
insertar_cola(x)
click to toggle source
Método #insertar_cola Inserta un valor en la lista por la cola
# File lib/prct6/listas.rb, line 40 def insertar_cola(x) node = Nodo.new(x,nil,nil) if @cabeza==nil && @cola==nil node.prev = @cabeza node.next = @cola @nodo_actual = node @cola = node @cabeza = node else node.prev = @cola node.next = nil @nodo_actual = node @cola.next = node @cola = node end end
insertar_varios(nodos)
click to toggle source
Método #insertar_varios Inserta multiples valores por la cabeza
# File lib/prct6/listas.rb, line 60 def insertar_varios(nodos) nodos.each do |nd| insertar_cabeza(nd) end end
to_s()
click to toggle source
# File lib/prct6/listas.rb, line 78 def to_s @cabeza.to_s end