[golang] 数据结构-直接插入排序
发布时间:2020-12-16 09:34:42 所属栏目:大数据 来源:网络整理
导读:原理 直接插入排序,也是一种非常简单的排序算法。 第一轮先从第二个元素开始,和第一个比较,如果较小就交换位置,本轮结束。第二轮从第三个元素开始,先与第二个比较,如果较小就与第二个交换,交换后再于第一个比较。如此循环直至最后一个元素完成比较逻
原理
直接插入排序,也是一种非常简单的排序算法。 第一轮先从第二个元素开始,和第一个比较,如果较小就交换位置,本轮结束。第二轮从第三个元素开始,先与第二个比较,如果较小就与第二个交换,交换后再于第一个比较。如此循环直至最后一个元素完成比较逻辑。 复杂度 代码 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) } } 运行结果 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |