golang 选择排序算法
package main
import "fmt"
func main() {
arr := []int{10, 2, 6, 8, 7, 5, 3, 4, 1, 9}
selectSort(arr)
fmt.Println(arr)
}
func selectSort(arr []int) {
llen := len(arr)
minVal := arr[0]
minIndex := 0
for i := 0; i < llen-1; i++ {
minIndex = i
minVal = arr[i]
//选出最小的
for j := i; j < llen; j++ {
if arr[j] < minVal {
minIndex = j
minVal = arr[j]
}
}
if minIndex != i {
// 完成一轮,交换
arr[i], arr[minIndex] = arr[minIndex], arr[i]
}
}
}