package main // 选择排序 func main() { var a = []int{29, 10, 14, 37, 25, 18, 30} // 创建数组的简写声明 Select(a) for _, i2 := range a { print(i2, "\t") // 输出每一个值 } } /** Select 实现选择排序 O(n * n) a : 被排序数组 返回:排序完毕数组 */ func Select(a []int) { for i, j := 0, len(a); i < j; i++ { // 循环列表元素每一个元素 theMin := i // 记录最小值记录 for ii := i + 1; ii < j; ii++ { // 循环无序列表部分 if a[theMin] > a[ii] { // 较大的值移至后边 theMin = ii // 较大的值移至后边 } } if theMin != i { a[i], a[theMin] = a[theMin], a[i] } } }