package main
import (
"fmt"
"math/rand"
"time"
)
/*
选择排序: 从小到大排序
*/
func selectSort(arr []int) []int {
len := len(arr) //计算数组的长度
if len <= 1 {
return arr //这个时候不需要进行排序
}
// 1 0 3 2 5 4
for i := 0; i < len; i++ {
min := i //
for j := i + 1; j < len; j++ {
if arr[min] > arr[j] {
min = j
}
}
if i != min {
arr[i], arr[min] = arr[min], arr[i] //交换顺序
}
}
return arr
}
func main() {
//构造一个数组
arr := []int{0, 0, 0, 0, 0, 0, 0, 0}
//随机数 rand.Seed(种子)
rand.Seed(time.Now().UnixNano())
for i := 0; i < len(arr); i++ {
arr[i] = rand.Intn(20)
}
fmt.Println(arr)
fmt.Printf("%v", selectSort(arr))
}
go选择排序
最新推荐文章于 2022-12-09 00:50:34 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)