アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。
実装は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))
}
関連書籍