核心思路:
将数组分成已排序和待排序两部分,将一个元素从待排序插入到有序数组的适当位置,直到所有待排序都插入完成
把第一个元素作为已排序数组,将后面的元素依次与已排序元素从后往前进行比较,如果当前元素小于有序数组元素,有序数组元素往后挪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 举报,一经查实,本站将立刻删除。