标签:数据结构 比较 type 一个 log 交换 tree 运行 process
原理复杂度
最好的情况下,直接插入排序只需进行n-1次比较,0次的交换。平均下来时间复杂度为 O(n^2)。
由于是每个元素逐个与有序的队列进行比较,所以不会出现相同数值的元素在排序完成后交换位置。所以直接插入排序是种稳定的排序算法。
代码
package main
import (
"fmt"
"math/rand"
)
func main() {
var length = 10
var tree []int
for i := 0; i < length; i++ {
tree = append(tree, int(rand.Intn(1000)))
}
fmt.Println(tree)
for i := 1; i < length; i++ {
for j := i; j > 0 && tree[j] < tree[j-1]; j-- {
tree[j], tree[j-1] = tree[j-1], tree[j]
}
fmt.Println(tree)
}
}
运行结果
标签:数据结构 比较 type 一个 log 交换 tree 运行 process
原文地址:http://blog.51cto.com/13022101/2148154