package main
import "log"
func main() {
	sArr := []int{10, 9, 8, 11, 15, -1, 38, 40}
	log.Println(sArr)
	sArr = selectSort(sArr)
	log.Println(sArr)
}
func selectSort(arr []int) []int {
	length := len(arr)
	if length < 2 {
		return arr
	}
	min := 0
	for i := 0; i < length-1; i++ {
		min = i
		for j := i + 1; j < length; j++ {
			if arr[min] > arr[j] {
				min = j
			}
		}
		if i != min {
			arr[min], arr[i] = arr[i], arr[min]
		}
	}
	return arr
}
选择排序的思路大概是这样的。 顺序先取第一个位置上的数作为最小数,然后在剩下的数中找到一个最小的与第一个位置的数交换,然后依次取第二个位置上的数作为最小数,在剩下的数中找到一个最小的数与第二个位置上的数交换,如此直到最后。
