选择排序代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
func SelectionSort(array []int64) {
// 使数组每个值都与之后对值进行比对
for j := 0; j < len(array)-1; j++ {
minPos := j
// 找出对比的最小值位置索引赋值给minPos
for i := minPos + 1; i < len(array); i++ {
if array[i] < array[minPos] {
minPos = i
}
}
// 当前位置的值与对比得出的最小值进行数值互换
array[j], array[minPos] = array[minPos], array[j]
}
}

选择排序算法平均时间复杂度O(n2),最好时间复杂度为O(n2),最差时间复杂度为O(n2)
空间复杂度O(1),稳定性为不稳定