-
-
Save amirrajan/0a7f3685792aa7e2db6daaf816b70185 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NUM = 300 | |
SIZE = 10000 | |
def test_lists() | |
# create a list of integers (Li1) from 1 to SIZE | |
li1 = (1..SIZE).to_a | |
# copy the list to li2 (not by individual items) | |
li2 = li1.dup | |
# remove each individual item from left side of li2 and | |
# append to right side of li3 (preserving order) | |
li3 = Array.new | |
while (not li2.empty?) | |
li3.push(li2.shift) | |
end | |
# li2 must now be empty | |
# remove each individual item from right side of li3 and | |
# append to right side of li2 (reversing list) | |
until li3.empty? | |
li2.push(li3.pop) | |
end | |
# li3 must now be empty | |
# reverse li1 in place | |
li1.reverse! | |
# check that first item is now SIZE | |
if li1[0] != SIZE | |
p "not SIZE" | |
0 | |
else | |
# compare li1 and li2 for equality | |
if li1 != li2 | |
return(0) | |
else | |
# return the length of the list | |
li1.length | |
end | |
end | |
end | |
a = Time.now | |
i = 0 | |
while i<NUM | |
i += 1 | |
result = test_lists() | |
end | |
result | |
puts Time.now - a |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment