耐心和持久胜过激烈和狂热。
哈喽大家好,我是陈明勇,今天分享的内容是使用 Go 实现插入排序算法。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!
插入排序
插入排序是一种简单的排序算法,以数组为例,我们可以把数组看成是多个数组组成。插入排序的基本思想是往前面已排好序的数组中插入一个元素,组成一个新的数组,此数组依然有序。光看文字可能不理解,让我们看看图示:
算法实现
import (
"fmt"
)
func main() {
nums := [4]int{4, 1, 3, 2}
fmt.Println("原数组:", nums)
fmt.Println("--------------------------------")
InsertionSort(nums)
}
func InsertionSort(nums [4]int) {
for i := 1; i < len(nums); i++ {
for j := i; j > 0 && nums[j] < nums[j-1]; j-- {
nums[j], nums[j-1] = nums[j-1], nums[j]
}
fmt.Printf("第 %d 轮后:%v\n", i, nums)
}
fmt.Println("--------------------------------")
fmt.Println("排序后的数组:", nums)
}
- 第一层