class Lista
Attributes
head[RW]
size[RW]
tail[RW]
Public Class Methods
new()
click to toggle source
# File lib/MenuDieta/lista.rb, line 6 def initialize() @head = nil @tail = nil @size = 0 end
Public Instance Methods
each() { |nil| ... }
click to toggle source
# File lib/MenuDieta/lista.rb, line 74 def each if(@head == nil) && (@tail == nil) yield nil elseif(@head == @tail) yield @head-value else while(@head != nil) yield @head.value @head = @head.next end end end
extractBeginning()
click to toggle source
# File lib/MenuDieta/lista.rb, line 56 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 65 def extractEnd() aux = self.tail.prev self.tail.prev = nil aux.next = nil self.tail = aux aux = nil self.size -= 1 end
insert(nodo)
click to toggle source
# File lib/MenuDieta/lista.rb, line 12 def insert(nodo) if(head == nil) self.head = nodo self.size += 1 else nodo.next = head self.head = nodo self.size += 1 end end
insertBeginning(nodo)
click to toggle source
# File lib/MenuDieta/lista.rb, line 30 def insertBeginning(nodo) if(head == nil) 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 43 def insertEnd(nodo) if(head == nil) 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 23 def pop() aux = self.head self.head = self.head.next aux.next = nil self.size =self.size - 1 end