排序
2.选择排序
package main
import "fmt"
//从未排序数组中找到最小元素,将它和数组第1个元素交换,在剩下数组中找到最小元素,与第2个数组交换...
func SelectSort(arr *[5]int) {
n := len(arr)
for i := 0; i < n-1; i++ {
min_idx := i
for j := i + 1; j < n; j++ {
if arr[j] < arr[min_idx] {
min_idx = j
}
}
if min_idx != i {
arr[i], arr[min_idx] = arr[min_idx], arr[i]
}
fmt.Printf("第%d次排序 %v\n", i+1, *arr)
}
}
func main() {
arr := [5]int{2, 9, 5, 7, 1}
SelectSort(&arr)
}
第1次排序 [1 9 5 7 2]
第2次排序 [1 2 5 7 9]
第3次排序 [1 2 5 7 9]
第4次排序 [1 2 5 7 9]
有疑问加站长微信联系(非本文作者)