class Lista
Clase Lista
que representa una lista simplemente enlazada.
Attributes
head[R]
Puntero al nodo cabeza de la lista
Public Class Methods
new()
click to toggle source
Inicializa la cabeza a nil, para poder tener una lista vacía, sin nodos
# File lib/prct06/lista.rb, line 12 def initialize @head = nil end
Public Instance Methods
is_empty?()
click to toggle source
Indica si la lista está vacía o no
# File lib/prct06/lista.rb, line 39 def is_empty? if @head==nil return true else return false end end
pop()
click to toggle source
Permite sacar un elemento de la lista por la cabeza, devolviendo el valor del nodo y no el nodo en sí, y eliminando el nodo
# File lib/prct06/lista.rb, line 30 def pop nodo = @head @head = @head.next return nodo.value end
push(*elementos)
click to toggle source
Permite introducir un elemento de cualquier tipo en la lista, e internamente se creará un nodo y se meterá por la cabeza
# File lib/prct06/lista.rb, line 19 def push (*elementos) elementos.each do |i| nodo = Node.new(i, @head) @head = nodo end end
to_s()
click to toggle source
Imprime la lista con el formato adecuado, elemento por elemento, desde la cabeza en adelante
# File lib/prct06/lista.rb, line 50 def to_s nodo = @head cadena = "" cont = 1 while nodo!=nil do cadena += "#{cont}) #{nodo.value}\n" nodo = nodo.next cont+=1 end cadena end