选择排序与冒泡排序的时间复杂度相同。因为一直在选择最小的数字,所以叫选择排序
理论部分:
1,将设数组0号位为数组最小值,将其定义为minNum
此时 minNum=5
2,遍历数组,将每一项和 minNum 对比,如果小于minNum,则将其与第一项调换位置
并重新赋值 minNum
变换为
此时 minNum=4
。。。重复以上步骤
代码实现:
// 选择排序
func SelectSort() {
// 数组初始化
sort_init := []int{5, 7, 9, 4, 8, 3, 1, 2, 6, 3}
iter_print(sort_init...)
for i := 0; i < len(sort_init); i++ {
minNum := sort_init[i]
for j := i; j < len(sort_init); j++ {
if sort_init[j] < minNum {
sort_init[j], sort_init[i] = sort_init[i], sort_init[j]
minNum = sort_init[i]
}
}
}
iter_print(sort_init...)
}