// number project main.go
package main
import (
"fmt"
"math/rand"
"time"
)
// 全局洗牌算法
func get_rand_number(array []int, length int) {
var index int
var value int
// var median int
// 判断数据为空不
if len(array) == 0 || 0 == length {
return
}
for index = 0; index < length; index++ {
fmt.Println(array[index])
}
fmt.Println("排序start")
// 循环洗牌
for index = 0; index < length; index++ {
value = RandData(length) // -------------------------------与局部洗牌算法不同
//fmt.Println(value)
array[value], array[index] = array[index], array[value]
//median = array[index]
//array[index] = array[value]
//array[value] = median
}
//fmt.Println(length)
for index = 0; index < length; index++ {
fmt.Println(array[index])
}
return
}
//随机函数
func RandData(iMode int) int {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
//fmt.Println(r.Intn(iMode))
//fmt.Println("TEST")values :=
return r.Intn(iMode)
}
func main() {
//values := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
//var values int
get_rand_number([]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, 11)
//fmt.Println(values)
}
转载于:https://my.oschina.net/u/2262458/blog/607545