アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。
実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。
package main
func selectionSort(n []int) []int {
for i := 0; i < len(n); i++ {
min := i
// Compare the smallest value in the data with the first value
for j := i + 1; j < len(n); j++ {
if n[j] < n[min] {
min = j
}
}
// Swap
n[i], n[min] = n[min], n[i]
}
return n
}
func main() {
n := []int{2, 1, 5, 7, 9}
fmt.Println(selectionSort(n))
}
関連書籍