算法-简单的 **插入排序**

使用 GoLang 实现一个简单的插入排序

插入排序

Golang 实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main

import "fmt"

func main() {
arr2 := [] int16{6, 5, 3, 1, 8, 7, 2, 4}
sortByInsertSort := insertSort(arr2)
fmt.Println(sortByInsertSort)
}

func insertSort(arr []int16) []int16 {
length := len(arr)
for i := 1; i < length; i++ {
if arr[i] < arr[i-1] {

j := 0 //more wide
tag := arr[i] //sign

for j = i - 1; j >= 0 && arr[j] > tag; j-- { // members back to move
arr[j+1] = arr[j]
}
arr[j+1] = tag //insert
}
}
return arr
}

新建一个xxx.go的文件,复制代码,go run xxx.go

图解

Complexity 复杂度

Name Best Average Worst Memory Stable Comments
Insertion sort n n2 n2 Yes
文章对你有用?给博主一个支持
0%