Sha256: 5d2b169781b8b7a667edb588776af992c73ded2579bc6949dc9ce439e099b815

Contents?: true

Size: 915 Bytes

Versions: 1

Compression:

Stored size: 915 Bytes

Contents

# Clase lista simplemente enlazada
# @author alu0100880625
# @attr_reader [Node] head struct que almacena el nodo siguiente (:next) y el dato del actual (:value)
class Sll
	Node=Struct.new(:value,:next)
	attr_reader :head
# Método que instancia un objeto de la clase (una lista con un nodo nil nil)
	def initialize
		@head=Node.new(nil,nil)
	end
# Método que crea un nodo que contenga el dato y lo inserta en la lista
# @param [Data] data dato que se desea insertar
	def insert(data)
		aux=Node.new(data,@head)
		@head=aux
	end
# Método que extrae un dato de la lista
# @return [Data] dato extraido
	def extract
		aux=@head[:value]
		@head=@head[:next]
		aux
	end
# Método que formatea la lista para mostrarla
# @return [String] cadena que contiene la lista formateada
	def to_s
		aux=@head
		i=1
		str=""
		while(aux[:next]!=nil)
			str+="#{i}) #{aux[:value]}\n"
			aux=aux[:next]
			i+=1
		end
		str
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dieta_alu0100880625-0.1.0 lib/dieta/sll.rb