class Lista
Attributes
head[RW]
size[RW]
tail[RW]
Public Class Methods
new()
click to toggle source
# File lib/dieta/lista.rb, line 7 def initialize @head=nil @tail=nil @size=0 end
Public Instance Methods
each() { |nil| ... }
click to toggle source
# File lib/dieta/lista.rb, line 59 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
extraer_final()
click to toggle source
# File lib/dieta/lista.rb, line 46 def extraer_final() aux=self.tail self.tail=self.tail.prev aux.next=nil aux.prev=nil if self.tail==nil self.head=nil else self.tail.next=nil end self.size-=1 return aux end
extraer_inicio()
click to toggle source
# File lib/dieta/lista.rb, line 23 def extraer_inicio() aux=self.head self.head=self.head.next aux.next=nil aux.prev=nil if head==nil tail=nil end self.size-=1 return aux end
insertar_final(nodo)
click to toggle source
# File lib/dieta/lista.rb, line 35 def insertar_final(nodo) nodo.prev=tail nodo.next=nil if (self.tail != nil) self.tail.next=nodo else self.head=nodo end self.size+=1 self.tail=nodo end
insertar_inicio(nodo)
click to toggle source
# File lib/dieta/lista.rb, line 12 def insertar_inicio(nodo) nodo.next=head nodo.prev=nil if (self.tail == nil) self.tail=nodo else self.head.prev=nodo end self.size+=1 self.head=nodo end