网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

golang如何直接插入排序-创新互联

这篇文章主要介绍了golang如何直接插入排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联2013年至今,先为延吉等服务建站,延吉等地企业,进行企业商务咨询服务。为延吉企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

原理
直接插入排序,也是一种非常简单的排序算法。
第一轮先从第二个元素开始,和第一个比较,如果较小就交换位置,本轮结束。第二轮从第三个元素开始,先与第二个比较,如果较小就与第二个交换,交换后再于第一个比较。如此循环直至最后一个元素完成比较逻辑。

复杂度
最好的情况下,直接插入排序只需进行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)
    }

}

运行结果
golang如何直接插入排序

感谢你能够认真阅读完这篇文章,希望小编分享的“golang如何直接插入排序”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站制作公司行业资讯频道,更多相关知识等着你来学习!

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


本文题目:golang如何直接插入排序-创新互联
网页URL:http://bjjierui.cn/article/cdghjd.html

其他资讯