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
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