Sha256: b3700c4d748897b0ef01ae498e0b184a5c03d7e909f861214cf2dbd564d9459c
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
#Author: Eduardo de la Paz González require "prct06/version" Nodo = Struct.new(:value, :next, :prev) class Lista #Reader y writer para cada variable attr_reader :tail, :beginning attr_writer :tail, :beginning #Se incluye Enumerable include Enumerable def initialize @beginning = @tail = nil end #Método add para añadir un nodo a la lista def add (valor) nodo = Nodo.new(valor) @beginning = nodo if @beginning.nil? @tail.next = nodo unless @tail.nil? nodo.prev = @tail unless @tail.nil? @tail = nodo end #Método pop para sacar un elemento por el principio def pop aux = @beginning @beginning = @beginning.next aux end #Método size que devuelve el tamaño de la lista def size size = 0 $i = @beginning while $i != nil do size = size + 1 $i = $i.next end size end #Definición de to_s para mostrar la lista por pantalla def to_s $i = @beginning while $i != nil do mostrar = "" puts "#{$i.value}" $i = $i.next end end #Definición del each para Enumerable def each aux = @beginning while aux != nil do yield aux.value aux = aux.next end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
prct11_edu-0.3.0 | lib/prct06/lista.rb |