新手,如有错误,请指证,感谢?。求轻喷~~
package mainimport ( "fmt")// 插入排序法思路:将要排序的元素插入到已经 假定排序号的数组的指定位置。// 实现思路:// * 区分 哪部分是已经排序好的// * 哪部分是没有排序的// * 找到其中一个需要排序的元素// * 这个元素 就是从第二个元素开始,到最后一个元素都是这个需要排序的元素// * 利用循环就可以标志出来// * i循环控制 每次需要插入的元素,一旦需要插入的元素控制好了,// * 间接已经将数组分成了2部分,下标小于当前的(左边的),是排序好的序列func main() { // 定义数据源 mySlice := []int{1,43,54,62,21,66,32,78,36,76,39} sliceLen := len(mySlice) for i:=1; i=0;j--{ // mySlice[i] 需要插入的元素 // mySlice[j] 需要比较的元素 if tmp < mySlice[j] { // 如果插入的元素小,交换位置。将后边的元素与前边的元素互换 mySlice[j+1] = mySlice[j] // 将前面的数设置为当前需要交换的数 mySlice[j] = tmp } else { // 由于是已经排序好的,则不需要再次比较。 break } } } fmt.Println(mySlice)}