微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[Go] Golang练习项目-GO语言实现插入排序

核心思路:

将数组分成已排序和待排序两部分,将一个元素从待排序插入到有序数组的适当位置,直到所有待排序都插入完成

把第一个元素作为已排序数组,将后面的元素依次与已排序元素从后往前进行比较,如果当前元素小于有序数组元素,有序数组元素往后挪1位,直到大于了就插入到有序数组元素后面

//插入排序
func InsertionSort(arr *[]int){
    for i:=1;i<len(*arr);i++{
        curKey:=(*arr)[i]
        j:=i-1
        for curKey<(*arr)[j]{
            (*arr)[j+1]=(*arr)[j]
            j--
            if j<0 {
                break
            }
        }
        (*arr)[j+1]=curKey
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐