即把原来的顺序打乱后随机生成新的排序的数组,遍历数组的每个元素,然后生成随机数进行位置交换
示例:
输入:[1 2 3 4 5 6 7 8]
随机输出举例:[7 4 1 8 5 6 3 2]
package main
import (
"fmt"
"math/rand"
)
func main() {
arr := []int{1, 2, 3, 4, 5, 6, 7, 8}
shuffle(arr)
fmt.Println(arr)
}
func shuffle(arr []int) {
i := len(arr)
for i > 0 {
i --
j := rand.Intn(i + 1)
arr[j], arr[i] = arr[i], arr[j]
}
}