This JS program is supposed to give a random permutation of a vector.
function random_n (n) {
var r = Math.round(n * Math.random());
return r;}
function remove_nth (n, vector) {
var before = vector.slice(0,n);
var after = vector.slice(n+1,vector.length);
var result = before.concat(after);
return result;}
function rperm (vector) {
if (vector.length == 0)
{return []}
else
{var n = random_n(vector.length);
var x = vector[n];
var newvector = remove_nth(n, vector);
var recurse = rperm(newvector);
var result = recurse.push(x);
return result} }
var numbers = [1,2,3];
var perm = rperm(numbers);
console.log(perm);
Solutions welcome.
Mark