Sha256: b9ad49773fef45c7f7e87c4d8915a22caf0e4f5d1be3806c6388499249dd2ca4
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
Node = Struct.new(:value,:prev,:next) class Lista include Enumerable attr_accessor :head,:tail,:size def initialize @head=nil @tail=nil @size=0 end 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 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 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 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 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 end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dieta-alu0100818819-0.1.4 | lib/dieta/lista.rb |