用golang写一个洗牌算法?
package main
import ( "fmt" "math/rand" "time" )
func shuffle(slice []int) []int { rand.Seed(time.Now().UnixNano())
for i := len(slice) - 1; i > 0; i-- {
j := rand.Intn(i + 1)
slice[i], slice[j] = slice[j], slice[i]
}
return slice
}
func main() { slice := []int{1, 2, 3, 4, 5} shuffledSlice := shuffle(slice) fmt.Println(shuffledSlice) }
原文地址: https://www.cveoy.top/t/topic/bKR0 著作权归作者所有。请勿转载和采集!