go 洗牌算法實現(打亂數組元素)


 

直接使用go官方提供的rand.Shuffle方法,需要注意隨機種子的使用。

package main import ( "fmt"
    "math/rand"
    "time" ) 
func main() { var arr = []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} rand.Seed(time.Now().UnixNano()) // 注意,這行重要,為了使每次洗牌的結果不一樣,需要用不同的隨機種子,我們這里用精確到微秒的時間戳 rand.Shuffle(len(arr), func(i, j int) { arr[i], arr[j] = arr[j], arr[i] }) fmt.Println(arr) }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM