图解算法第二章选择排序使用Go语言实现,仅供参考,错误之处,欢迎联系我纠正
package main
import ("fmt")
func main() {
fmt.Println(selectionSort([]int{1, 2, 34, 4, 5, 66, 22, 8, 534, 23, 11, 12, 43, 14, 13, 16, 17, 32, 41, 32}))
fmt.Println(selectionSort([]int{1, 2, 3}))
fmt.Println(selectionSort([]int{1}))
fmt.Println(selectionSort([]int{}))
}
func selectionSort(list []int) []int {
listLength,result := len(list),[]int{}
for idx := 0 ; idx < listLength ; idx ++ {
min,minIndex := list[0],0
for index, item := range list {
if item < min {
min = item
minIndex = index
}
}
result = append( result , min )
font := list[:minIndex]
end := []int{}
if minIndex < len(list)-1 {
end = list[minIndex+1:]
}
list = append( font,end...)
}
return result
}