class Prct07::Lista_doble
Attributes
head[RW]
cabeza = head ultelem = ultcola
lista1[RW]
cabeza = head ultelem = ultcola
ultcola[RW]
cabeza = head ultelem = ultcola
valor[RW]
cabeza = head ultelem = ultcola
Public Class Methods
new()
click to toggle source
# File lib/prct07/lista_doble.rb, line 21 def initialize @head= nil @ultcola=nil #@lista_reverse = nil end
Public Instance Methods
each() { |valor| ... }
click to toggle source
# File lib/prct07/lista_doble.rb, line 56 def each() if(@head !=nil) @temp=@head while (@temp != nil) do yield @temp.valor @temp=@temp.siguiente end end end
pop_principio()
click to toggle source
# File lib/prct07/lista_doble.rb, line 68 def pop_principio() if @head != nil @elimina = @head @head = @head.siguiente #@head.anterior = nil @elimina.siguiente = nil @elimina.valor #puts "pop" else puts 'No habia nada en la lista enlazada' return nil end end
push_principio(args)
click to toggle source
# File lib/prct07/lista_doble.rb, line 82 def push_principio(args) if @head == nil @temp=Nodo.new(args,nil,nil) @head=@temp else @temp=Nodo.new(args,nil,nil) @head.anterior=@temp @temp.siguiente = @head @head=@temp #@head.anterior = args #@head = args #args.anterior = nil #puts "push_p" end end
reverse_lista()
click to toggle source
def #reverse_lista(lista)
@listareves=Prct07::Lista_doble.new return Proc.new{ |n| listareves.push_principio(n) } reverse_lista
end
# File lib/prct07/lista_doble.rb, line 45 def reverse_lista @lista_reverse = Prct07::Lista_doble.new self.each_with_index do |n| @lista_reverse.push_principio(n) puts"hola" end return @lista_reverse end