简单选择排序,方法是设所排序序列的记录个数为 n。i 取1,2,…,n-1,从所有 n - i + 1 个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,与第 i 个记录交换。执行n-1趟 后就完成了记录序列的排序。
1.简单选择排序过程
-
时间复杂度:O(n^2)
-
空间复杂度:O(1)
-
简单选择排序是不稳定的排序算法。
2.Go语言实现
func SelectionSort(arr []int,n int) {
for i := 0; i < n; i++ {
minIndex := i
//挑选剩余的最小元素
for j := i + 1; j < n; j++ {
if arr[j] < arr[minIndex] {
minIndex = j
}
}
//交换
if i != minIndex {
arr[i],arr[minIndex] = arr[minIndex],arr[i]
}
}
}