summaryrefslogtreecommitdiff
path: root/sort/shuffle.go
blob: 3611f7bbc938f197c8faf4adf8479138c0f2bcc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package sort

import (
	"algorithms/ds"
	"math/rand"
)

func Shuffle(a ds.ArrayList) ds.ArrayList {
	l := len(a)

	for i := 0; i < l; i++ {
		r := l - rand.Intn(l-i) - 1
		a.Swap(i, r)
	}

	return a
}