go排序-选择排序
package main
import "fmt"
func main() {
var list = []int{-1,2,33,345,546,6,2,5,4}
selectSort(list)
fmt.Println(list)
}
//选择排序是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
func selectSort(list []int ){
n := len(list)
for i:=0;i<n-1;i++{
minIndex := i // 最小的索引
for j:=i+1;j<n;j++{ // 从之前已排序的下一个找最小的 和已排序的最后一个交换
if list[j] < list[minIndex] {
minIndex = j
}
}
if minIndex != i {
list[minIndex],list[i] = list[i],list[minIndex]
}
}
}

浙公网安备 33010602011771号