golang洗牌演算法實現
額,其實是個很簡單的程式碼,只不過剛瞭解到,還是記錄一下吧
需要匯入的包有兩個,"math/rand"實現了洗牌演算法的函式,"time"包需要我們呼叫時間納秒數實現偽隨機數為洗牌演算法提供種子。描述不清楚的話可以參考文件(http://docs.studygolang.com/pkg/math/rand/#Seed)
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
}
相關文章
- 實現陣列的隨機排序(含洗牌演算法)陣列隨機排序演算法
- 演算法題:洗牌演算法演算法
- 【隨機演算法】洗牌隨機演算法
- Golang實現ECB模式3DES演算法Golang模式3D演算法
- 【演算法】使用Golang實現加權負載均衡演算法演算法Golang負載
- 資料結構和演算法(Golang實現)(25)排序演算法-快速排序資料結構演算法Golang排序
- [分散式限流] 滑動視窗演算法的 Golang 實現分散式演算法Golang
- golang實現二倍均值演算法和搶紅包Golang演算法
- golang reflect 實現原理Golang
- Golang 心跳的實現Golang
- 關於洗牌演算法的錯誤認識演算法
- golang實現單例模式Golang單例模式
- 計數排序 -- GoLang實現排序Golang
- golang實現稀疏陣列Golang陣列
- Golang實現ForkJoin小文Golang
- golang如何實現單例Golang單例
- 利用 Watermill 實現 Golang CQRSGolang
- Golang 學習——如何判斷 Golang 介面是否實現?Golang
- Golang 實現 Redis(5): 使用跳錶實現 SortedSetGolangRedis
- 打造屬於自己的underscore系列(六)- 洗牌演算法演算法
- Golang實現氣泡排序法Golang排序
- golang 進度條功能實現Golang
- Golang協程池(workpool)實現Golang
- golang實現子程式通訊Golang
- Golang可重入鎖的實現Golang
- Golang實現PHP常用函式GolangPHP函式
- C++ 實現Golang裡的deferC++Golang
- Golang之不可重入函式實現Golang函式
- Golang web filter 輕量級實現GolangWebFilter
- Golang 的 goroutine 是如何實現的?Golang
- Golang 限流器的使用和實現Golang
- 使用golang實現redis伺服器GolangRedis伺服器
- golang實現常用集合原理介紹Golang
- golang 中 sync.Mutex 的實現GolangMutex
- Golang 實現 RabbitMQ 的死信佇列GolangMQ佇列
- redis分散式鎖實現(golang版)Redis分散式Golang
- golang 實現連結串列爽不爽?Golang
- 洗牌演算法及 random 中 shuffle 方法和 sample 方法淺析演算法random