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] } } }