Commit 30939df
Changed files (1)
unit
unit/1/reverse.rb
@@ -0,0 +1,30 @@
+require 'bundler/inline'
+
+gemfile do
+ source 'https://rubygems.org'
+
+ gem 'minitest'
+end
+
+require 'minitest/autorun'
+
+=begin
+Suppose you have a Stack, s, that supports only the push(x) and pop() operations.
+Show how, using only a FIFO Queue, q, you can reverse the order of all elements in s.
+=end
+
+class Example < Minitest::Test
+ def test_valid
+ s = []
+ s.push('A')
+ s.push('B')
+ s.push('C')
+
+ q = Queue.new
+ 3.times { q.enq(s.pop) }
+
+ x = 3.times.map { q.deq }
+
+ assert x == ['C', 'B', 'A']
+ end
+end