Sha256: 80cbc0e5cedde5a8d9e94ac98e01218522071b10d49cdf9318c07e3c0f432fd1
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
# Creación de la clase List con la estructura Node # Node = Struct.new(:value, :next, :prev) #Debe existir un nodo con su dato, su siguiente y su previo class Listas attr_accessor :head, :nodo_actual,:tail #Debe existir una Lista con su cabeza y su cola include Enumerable # Metodo initialize # @param parametros head y tail de la lista def initialize(head,tail) @head = nil @tail = nil end # Se puede insertar un elemento por la cabeza # @param value para insertar elementos def insert(value) node = Node.new(value,nil) if (@head == nil) @head = node else @tail.next = node node.prev = @tail end @tail=node end # Metodo extract_head # @deprecated Sirve para la extracción de la cabeza de la lista def extract_head aux="" if (@head!=nil) aux = @head.value @head = @head.next return aux end end # Metodo extract_tail # @deprecated Sirve para la extracción por la cola de la lista def extract_tail aux="" if(@tail!=nil) aux = @tail.value @tail = @tail.prev return aux end end # Metodo each # @deprecated Sirve para recorrer la lista dando el valor del nodo def each node = head while (node!=nil) yield node.value node = node.next end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
alu0100905885-0.1.0 | lib/prct6/listas.rb |