func main() {
var slice = []int{1, 4, 6, 3, 2, 6, 8, 93, 2, 43}
fmt.Println(slice)
selectionSort(slice)
fmt.Println(slice)
}
// 选择排序 - 时间复杂度 O(n的平方)
func selectionSort(slice []int) {
if slice == nil || len(slice) < 2 {
return
}
n := len(slice)
for i := 0; i < n-1; i++ {
min := i
for j := i + 1; j < n; j++ {
if slice[min] > slice[j] {
min = j
}
}
if i != min {
// 交换
slice[i], slice[min] = slice[min], slice[i]
}
}
}