golang 排序算法 - 选择排序
< 返回列表时间: 2020-06-29来源:OSCHINA
package main import "fmt" // 从小到大 func Order(arr []int) { // 依次选出每位最小值 for i := 0; i < len(arr); i++ { // 从 i 的下一位开始依次与 i 比对,若小于 i 的值就交换 for j := i + 1; j < len(arr); j++ { if arr[j] < arr[i] { // 交换两个值 arr[i], arr[j] = arr[j], arr[i] } } fmt.Println(i, arr) } } func main() { arr := []int{9, 3, 5, 1, 6, 0, 2, 7, 4, 8} Order(arr) fmt.Println(arr) } /* 0 [0 9 5 3 6 1 2 7 4 8] 1 [0 1 9 5 6 3 2 7 4 8] 2 [0 1 2 9 6 5 3 7 4 8] 3 [0 1 2 3 9 6 5 7 4 8] 4 [0 1 2 3 4 9 6 7 5 8] 5 [0 1 2 3 4 5 9 7 6 8] 6 [0 1 2 3 4 5 6 9 7 8] 7 [0 1 2 3 4 5 6 7 9 8] 8 [0 1 2 3 4 5 6 7 8 9] 9 [0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7 8 9] */
热门排行