golang插入排序

48 阅读1分钟
func main() {

	var slice = []int{1, 4, 6, 3, 2, 6, 8, 93, 2, 43}
	fmt.Println(slice)
	insertSort(slice)
	fmt.Println(slice)
}

// 插入排序 - 时间复杂度 O(n的平方)
func insertSort(slice []int) {
	if slice == nil || len(slice) < 2 {
		return
	}
	n := len(slice)
	for i := 1; i < n; i++ {
		for j := i - 1; j >= 0 && slice[j] > slice[j+1]; j-- {
			slice[j], slice[j+1] = slice[j+1], slice[j]
		}
	}
}