class Lista
Attributes
head[RW]
size[RW]
tail[RW]
Public Class Methods
new()
click to toggle source
# File lib/MenuDieta/lista.rb, line 10 def initialize() @head = nil @size = 0 @tail = nil end
Public Instance Methods
each() { |nil| ... }
click to toggle source
# File lib/MenuDieta/lista.rb, line 91 def each if(@head == nil) && (@tail == nil) yield nil elsif(@head == @tail) yield @head.value else while(@head != nil) yield @head.value @head = @head.next end end end
empty()
click to toggle source
# File lib/MenuDieta/lista.rb, line 26 def empty if(size == 0) return true else return false end end
extractBeginning()
click to toggle source
# File lib/MenuDieta/lista.rb, line 75 def extractBeginning aux = self.head.next aux.prev = nil self.head.next = nil self.head = aux aux = nil self.size -= 1 end
extractEnd()
click to toggle source
# File lib/MenuDieta/lista.rb, line 83 def extractEnd aux = self.tail.prev self.tail.prev = nil aux.next = nil self.tail = aux aux = nil self.size -= 1 end
insertBeginning(nodo)
click to toggle source
# File lib/MenuDieta/lista.rb, line 51 def insertBeginning(nodo) if(empty) self.head = nodo self.tail = nodo self.size += 1 else self.head.prev = nodo nodo.next = self.head self.head = nodo self.size += 1 end end
insertEnd(nodo)
click to toggle source
# File lib/MenuDieta/lista.rb, line 63 def insertEnd(nodo) if(empty) self.head = nodo self.tail = nodo self.size += 1 else self.tail.next = nodo nodo.prev = self.tail self.tail = nodo self.size += 1 end end
pop()
click to toggle source
# File lib/MenuDieta/lista.rb, line 45 def pop aux = self.head self.head = self.head.next aux.next = nil self.size = self.size - 1 end
push(nodo)
click to toggle source
# File lib/MenuDieta/lista.rb, line 15 def push(nodo) if(empty) self.head = nodo self.size += 1 self.tail = nodo else nodo.next= head self.head = nodo self.size += 1 end end
to_s()
click to toggle source
# File lib/MenuDieta/lista.rb, line 33 def to_s aux = "| #{head.value} " i = 1 siguiente = head.next while i < size aux += "| #{siguiente.value} " siguiente = siguiente.next i += 1 end aux += "|" return aux end