上篇我们简单的解说了插入算法
今天我们用go来实现,代码如下
package main
import "fmt"
func insertSort(a []int){
shuzu := a
fmt.Print("排序前")
fmt.Println(shuzu)
the_len := len(shuzu)
var i int
for i < the_len{
var tmp = shuzu[i]
for m:=i-1; m>=0&&shuzu[m]>tmp; m--{
//shuzu[m+1] = shuzu[m]
//shuzu[m] = tmp
shuzu[m],shuzu[m+1] = shuzu[m+1],shuzu[m]//更简单的值互换方式
}
i++
}
fmt.Print("排序后")
fmt.Println(shuzu)
}
func main() {
var shuzu = []int{10,9,7,5,6,3}
insertSort(shuzu)
}
执行结果如下
排序前[10 9 7 5 6 3]
排序后[3 5 6 7 9 10]
ok,问题解决