1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
package sort import ( "algorithms/ds" ) func Insertion(a ds.ArrayList) ds.ArrayList { length := len(a) for i := 0; i < length; i++ { for j := i; j > 0; j-- { if a[j].Higher(a[j-1]) { break } tmp := a[j] a[j] = a[j-1] a[j-1] = tmp } } return a }