1 Star 0 Fork 0

水上清风/golang-exercise

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
selectSort.go 1.44 KB
一键复制 编辑 原始数据 按行查看 历史
水上清风 提交于 2016-07-28 22:47 . 以前的练习
package main
import (
"fmt"
"math/rand"
"sort"
"time"
)
//func (r *Rand) GetRandArray(n int, max int) []int {
func CreateRandArray(n int, max int) []int {
t := time.Now()
r := rand.New(rand.NewSource(int64(t.Nanosecond())))
m := make([]int, n)
// In the following loop, the iteration when i=0 always swaps m[0] with m[0].
// A change to remove this useless iteration is to assign 1 to i in the init
// statement. But Perm also effects r. Making this change will affect
// the final state of r. So this change can't be made for compatibility
// reasons for Go 1.
for i := 0; i < n; i++ {
m[i] = r.Intn(max)
}
return m
}
func selecttSort(array []int) {
arrLen := len(array)
for i := 0; i < arrLen; i++ {
max, j := 0, 0
for j = 1; j < arrLen-i; j++ {
if array[max] < array[j] {
max = j
}
}
if max != j-1 {
array[max], array[j-1] = array[j-1], array[max]
}
// if max != 0 && max != j-1 {
// array[max], array[j-1] = array[j-1], array[max]
// }
}
}
func main() {
//r := rand.New(rand.NewSource(99))
//r := new(Rand)
//t := time.Now()
array := CreateRandArray(100000, 100000)
//fmt.Println(array)
//fmt.Println(time.Now().String())
fmt.Println(time.Now().String())
selecttSort(array)
fmt.Println(time.Now().String())
//fmt.Println(array)
array = CreateRandArray(100000, 100000)
//fmt.Println(array)
fmt.Println(time.Now().String())
sort.Ints(array)
fmt.Println(time.Now().String())
//fmt.Println(array)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ssqf_admin/golang-exercise.git
git@gitee.com:ssqf_admin/golang-exercise.git
ssqf_admin
golang-exercise
golang-exercise
master

搜索帮助