summaryrefslogtreecommitdiff
path: root/scratchdir/insertionsort.go
blob: cc7d2d6472bb59f5a2ed463b8a38857501e8b2e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package main

import "fmt"

var sortingdata []int = []int{1, 23, 4, 234, 123, 4, 4512, 0}

func insert(in []int) {
	for i := len(in) - 1; i > 0; i-- {
		if in[i-1] >= in[i] {
			in[i], in[i-1] = in[i-1], in[i]
		}
	}
}

func insertionSort(in []int) []int {
	for i := 0; i < len(in); i++ {
		insert(in[:i+1])
	}
	return in
}

func main() {
	fmt.Println(insertionSort(sortingdata))
}