package main
import "fmt"
func main() {
arr := []int{10, 2, 6, 8, 7, 5, 3, 4, 1, 9}
insertSort(arr)
fmt.Println(arr)
}
func insertSort(arr []int) {
for i := 1; i < len(arr); i++ { // 控制循环的次数
tmp, j := arr[i], i //记录当前数据
if arr[j-1] > tmp {
//寻找前面的小于当前,都移到后面
for j >= 1 && arr[j-1] > tmp {
arr[j] = arr[j-1]
j--
}
}
arr[j] = tmp
}
}
相关文章
- 02-21排序——插入排序(Insertion sort)
- 02-21golang动画等待计算菲波那契结果
- 02-21golang备份和恢复
- 02-21LeetCode374.猜数字大小Golang版
- 02-21【Golang基础总结】map
- 02-21golang 时间格式化与解析
- 02-21golang中defer函数的使用
- 02-21golang defer关键字使用
- 02-21Golang, 以 9 个简短代码片段,切底弄懂 defer 的使用特点
- 02-21Golang函数中defer的作用以及细节