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