我爱编程

golang洗牌算法实现

2018-06-01  本文已影响0人  Sixah

额,其实是个很简单的代码,只不过刚了解到,还是记录一下吧
需要导入的包有两个,"math/rand"实现了洗牌算法的函数,"time"包需要我们调用时间纳秒数实现伪随机数为洗牌算法提供种子。描述不清楚的话可以参考文档

package main

import (
    "log"
    "math/rand"
    "time"
)

func main() {
    rand.Seed(time.Now().UnixNano()) //设置种子

    sixah := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}

    rand.Shuffle(len(sixah), func(i, j int) { //调用算法
        sixah[i], sixah[j] = sixah[j], sixah[i]
    })
    
    log.Println(sixah)
    return
}
上一篇下一篇

猜你喜欢

热点阅读