Sha256: d32f9215eccdd16e088f3363d4db89ded20d6fcf2c14bf595d1f6ee3bf8c17b8
Contents?: true
Size: 972 Bytes
Versions: 2
Compression:
Stored size: 972 Bytes
Contents
# A StackQueue works just like a queue, but it's based on # a Stack. Functionality-wise, it's exactly the same # as a queue. I mainly made it as an exercise leading # up to MinMaxStackQueue. module ZagorskiADT class StackQueue def initialize @in = Stack.new @out = Stack.new end def self.help puts "Here are the functions for StackQueue:" puts "show" puts "enqueue(value)" puts "dequeue" puts "length" puts "empty?" end def self.methods self.help end def help StackQueue.help end def methods help end def show @out.show.reverse + @in.show end def enqueue(val) @in.push(val) end def dequeue if @out.empty? @in.length.times do @out.push(@in.pop) end end @out.pop end def length @in.length + @out.length end def empty? @values.empty? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ZagorskiADT-0.1.4 | lib/ZagorskiADT/AbstractDataTypes/StackQueue.rb |
ZagorskiADT-0.1.3 | lib/ZagorskiADT/AbstractDataTypes/StackQueue.rb |