Golang实现选择排序
关键词:选择排序 排序 算法 寻找 比较 golang go 实现
**算法复杂度:**O(n^2)
代码:
func selectionSort(list []int) []int {
newList := make([]int, 0)
for i:=0; i< len(list); i++ {
smallIndex := findSmallestIndex(list)
newList = append(newList, list[smallIndex])
list = append(list[:smallIndex], list[(smallIndex+1):]...)
}
return list
}
func findSmallestIndex(list []int) int {
smallest := list[0]
smallestIndex := 0
for k, v := range list {
if v < smallest {
smallest = v
smallestIndex = k
}
}
return smallestIndex
}