1. package main
    2. import (
    3. "fmt"
    4. "time"
    5. )
    6. func main() {
    7. var arr []int = []int{6,4,2,3,1,5}
    8. //len1 := 10
    9. //arr := make([]int, len1)
    10. //r := rand.New(rand.NewSource(time.Now().UnixNano()))
    11. //for i:=0; i<len1; i++ {
    12. // arr[i] = r.Intn(len1)
    13. //}
    14. start := time.Now().UnixMilli()
    15. fmt.Println("排序数组: ",arr)
    16. fmt.Println()
    17. insertSort(arr)
    18. end := time.Now().UnixMilli()
    19. timeLen := end - start
    20. fmt.Printf("%v \n", arr)
    21. fmt.Printf("用时 : %v ms", timeLen)
    22. }
    23. func insertSort(arr []int) {
    24. for i := 0; i < len(arr); i++ {
    25. t := arr[i]
    26. var j int
    27. for j = i; j - 1 >= 0 && t - (arr[j - 1]) < 0; j-- {
    28. arr[j] = arr[j - 1]
    29. }
    30. arr[j] = t
    31. }
    32. }

    结果

    1. 排序数组: [6 4 2 3 1 5]
    2. [1 2 3 4 5 6]
    3. 用时 : 1 ms