Be concise.
Be useful.
All contributions dictatorially edited by webmasters to match personal tastes.
Please do not paste any copyright violating material.
Please try to avoid dependencies to third-party libraries and frameworks.
(shuffle x)
var shuffled = x.toList()..shuffle();
x.shuffle();
y = Enum.shuffle x
[Y||{_,Y} <- lists:sort([ {rand:uniform(), N} || N <- X])].
module M_shuffle
contains
function scramble( number_of_values ) result(array)
integer,intent(in) :: number_of_values
integer,allocatable :: array(:)
array=[(i,i=1,number_of_values)]
n=1; m=number_of_values
do k=1,2
do i=1,m
call random_number(u)
j = n + FLOOR((m+1-n)*u)
itemp=array(j); array(j)=array(i); array(i)=itemp
enddo
enddo
end function scramble
end module M_shuffle
:
use M_shuffle, only : scramble
newlist=list(scramble(size(list))
x.shuffle()
shuffle x = if length x < 2 then return x else do
i <- System.Random.randomRIO (0, length(x)-1)
r <- shuffle (take i x ++ drop (i+1) x)
return (x!!i : r)
for (var i = x.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = x[j];
x[j] = x[i];
x[i] = temp;
}
x.shuffle()
val y = x.shuffled()
(let ((end (length x)))
(loop for i from 0 below end
do (rotatef (aref x i)
(aref x (+ i (random (- end i)))))))
function(x)
for i = #x, 2, -1 do
local j = math.random(i)
x[i], x[j] = x[j], x[i]
end
end
shuffled = {}
for i, v in ipairs(x) do
local pos = math.random(1, #shuffled+1)
table.insert(shuffled, pos, v)
end
shuffle($x);
var Iter,rr: integer;
[...]
for Iter := 0 to high(x) do
begin
rr := random(high(x))+1;
tmp := x[Iter];
x[Iter] := x[rr];
x[rr] := tmp;
end;
y = x.shuffle
(shuffle x)
(define shuffle
(lambda (x)
(if (< (length x) 2)
list
(let ((item (list-ref list (random (length x)))))
(cons item (shuffle (remove item x)))))))
x shuffled.
Function Shuffle(Of T)(collection As IEnumerable(Of T)) As List(Of T)
Dim r As Random = New Random()
Shuffle = collection.OrderBy(Function(a) r.Next()).ToList()
End Function