Once again, hello
Normally I’d go to my dad for something like this. But since he’s out
and you all are hyperactive posters…
I’ve been writing my own shuffling method, and I end up getting
doubles in it.
For instance, output might say something like:
fun
cat
zoo
zoo
Now, it’s NOT supposed to do that, but it does anyways. I am clueless
as to what the problem is. What I DID notice, however (When using
source 2) was that it seemed to pop off the last item in the array.
Repeatedly. Yes, it’s supposed to do that, but the last item changes
each time. How does it keeping popping off, say, ‘fun’ repeatedly?
Lotsa source code here, but I appreciate the help. Thanks
ridonculously a lot.
--------------------------------------------------------------|
SOURCE 1
--------------------------------------------------------------|
some_array= [‘cat’, ‘dog’, ‘fun’, ‘zoo’]
def shuffle some_array
recurssive_shuffle some_array
end
def recurssive_shuffle some_array
n = some_array.length
helper_array = []
new_array = []
while n != 0
r = rand(n)
while some_array.length != (r + 1)
helper_array.push some_array.pop
end
new_array.push some_array.pop
n = (n - 1)
helper_array.each do |item|
some_array.push item
end
end
puts new_array
end
shuffle some_array
--------------------------------------------------------------|
SOURCE 2
--------------------------------------------------------------|
some_array = [‘cat’, ‘dog’, ‘fun’, ‘zoo’]
def shuffle some_array
recurssive_shuffle some_array
end
def recurssive_shuffle some_array
n = some_array.length
helper_array = []
new_array = []
while n != 0
r = rand(n)
while some_array.length != (r + 1)
helper_array.push some_array.pop
puts ‘Array’
puts helper_array
puts
end
new_array.push some_array.pop
n = (n - 1)
helper_array.each do |item|
some_array.push item
end
end
puts new_array
end
shuffle some_array
---------------------------------------------------------------|
~Ari
“I don’t suffer from insanity. I enjoy every minute of it” --1337est
man alive