Skip to main content
deleted 1 character in body
Source Link
Zero Fiber
  • 640
  • 3
  • 12

Ruby, 5857 bytes

->a{a.size.times{|i|j=rand*|i|j=rand(i+1);a[i],a[j]=a[j],a[i]};p a}

Input (as lambda function):

f.([1,2,3,4,5])

Output:

[2, 1, 4, 3, 5]

Ruby, 58 bytes

->a{a.size.times{|i|j=rand*(i+1);a[i],a[j]=a[j],a[i]};p a}

Input (as lambda function):

f.([1,2,3,4,5])

Output:

[2, 1, 4, 3, 5]

Ruby, 57 bytes

->a{a.size.times{|i|j=rand(i+1);a[i],a[j]=a[j],a[i]};p a}

Input (as lambda function):

f.([1,2,3,4,5])

Output:

[2, 1, 4, 3, 5]
Changing STDIN to lambda
Source Link
Zero Fiber
  • 640
  • 3
  • 12

Ruby, 7858 bytes

a=gets.split.map(&:to_i)
->a{a.size.times{|i|j=rand*(i+1);a[i],a[j]=a[j],a[i]}
p;p a}

Input (as lambda function):

1 f.([1,2 ,3 ,4 5,5])

Output:

[2, 1, 4, 3, 5]

Ruby, 78 bytes

a=gets.split.map(&:to_i)
a.size.times{|i|j=rand*(i+1);a[i],a[j]=a[j],a[i]}
p a

Input:

1 2 3 4 5

Output:

[2, 1, 4, 3, 5]

Ruby, 58 bytes

->a{a.size.times{|i|j=rand*(i+1);a[i],a[j]=a[j],a[i]};p a}

Input (as lambda function):

f.([1,2,3,4,5])

Output:

[2, 1, 4, 3, 5]
deleted 5 characters in body
Source Link
Zero Fiber
  • 640
  • 3
  • 12

Ruby, 8378 bytes

a=gets.split.map(&:to_i)
(0...a.size).eachtimes{|i|j=rand*(i+1);a[i],a[j]=a[j],a[i]}
p a

Input:

1 2 3 4 5

Output:

[2, 1, 4, 3, 5]

Ruby, 83 bytes

a=gets.split.map(&:to_i)
(0...a.size).each{|i|j=rand*(i+1);a[i],a[j]=a[j],a[i]}
p a

Input:

1 2 3 4 5

Output:

[2, 1, 4, 3, 5]

Ruby, 78 bytes

a=gets.split.map(&:to_i)
a.size.times{|i|j=rand*(i+1);a[i],a[j]=a[j],a[i]}
p a

Input:

1 2 3 4 5

Output:

[2, 1, 4, 3, 5]
Even Further golfing.
Source Link
Zero Fiber
  • 640
  • 3
  • 12
Loading
Further golfing.
Source Link
Zero Fiber
  • 640
  • 3
  • 12
Loading
Source Link
Zero Fiber
  • 640
  • 3
  • 12
Loading