summaryrefslogtreecommitdiff
path: root/sort/insertion.go
blob: a6b3c85d6e5a364d07f869a5add1c8c2720a089b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package sort

import (
	"codeberg.org/snonux/algorithms/ds"
)

func Insertion[V ds.Number](a ds.ArrayList[V]) ds.ArrayList[V] {
	for i, _ := range a {
		for j := i; j > 0; j-- {
			if a[j] > a[j-1] {
				break
			}
			a.Swap(j, j-1)
		}
	}

	return a
}