软件包 main
进口 (
“fmt”
“数学/兰特”
“时间”
函数main(){
intArr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
对于 i := 0;i < 10;i++{
随机播放(intArr)
fmt.Println(intArr)
// 改组算法
函数 shuffle(arr []int){
rand.Seed(time.Now()。UnixNano())
变量 i,j int
变量 temp int
对于 i = len(arr) - 1; i > 0; i-- {
j = rand.Intn(i + 1)
fmt.Println("i=", i, "j=", j)
温度 = arr[i]
arr[i] = arr[j]
arr[j] = temp
====================
结果如下:
i= 8 j= 7
i= 7 j= 7
i= 6 j= 1
i= 5 j= 4
i= 4 j= 1
i= 3 j= 3
i= 2 j= 2
i= 1 j= 0
[6 1 3 4 7 5 2 9 8]
i= 8 j= 7
i= 7 j= 7
i= 6 j= 1
i= 5 j= 4
i= 4 j= 1
i= 3 j= 3
i= 2 j= 2
i= 1 j= 0
[5 6 3 4 2 7 1 8 9]
i= 8 j= 7
i= 7 j= 7
i= 6 j= 1
i= 5 j= 4
i= 4 j= 1
i= 3 j= 3
i= 2 j= 2
i= 1 j= 0
[7 5 3 4 1 2 6 9 8]
标题:Golang 改组算法洗牌算法shuffle
链接:https://www.ltthb.com/news/xydt/121739.html
版权:文章转载自网络,如有侵权,请联系删除!