package main
import (
"fmt"
)
func main() {
var array = []int{50, 2, 45, 42, 6, 47, 23, 22, 15, 456, 15, 11, 30, 16, 13, 3}
length := len(array)
var j int
//外循环:有多少个元素没有进行排序就循环多少次(第一次就把第一个数组元素(下标0)认为是已经排好序的,故从第二个元素(下标1)开始进行比较并插入到相应位置)
for i := 1; i < length; i++ {
temp := array[i] //哨兵
for j = i - 1; j >= 0 && array[j] > temp; j-- {
array[j+1] = array[j]
}
//一轮下来后哨兵元素应该放的位置
array[j+1] = temp
}
fmt.Println(array)
}