Skip to content

Instantly share code, notes, and snippets.

@ijp
Created December 8, 2011 01:06
Show Gist options
  • Save ijp/1445604 to your computer and use it in GitHub Desktop.
Save ijp/1445604 to your computer and use it in GitHub Desktop.
(define (random-permutate lst)
(let* ([len (length lst)]
[i (rand len)]
[j (let loop ((number (rand len)))
(if (= number i)
(loop (rand len))
number))]
[vec (list->vector lst)])
(vector-swap! vec i j)
(vector->list vec)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment