merge codes

This commit is contained in:
IsChristina 2022-12-12 21:24:42 +08:00
commit 35d4208fa8
3 changed files with 49 additions and 1 deletions

View file

@ -0,0 +1,19 @@
//File: insertion_sort.go
//Created Time: 2022-12-12
//Author: msk397 (machangxinq@gmail.com)
package insertion_sort
func insertionSort(nums []int) {
// 外循环:待排序元素数量为 n-1, n-2, ..., 1
for i := 1; i < len(nums); i++ {
base := nums[i]
j := i - 1
// 内循环:将 base 插入到左边的正确位置
for j >= 0 && nums[j] > base {
nums[j+1] = nums[j] // 1. 将 nums[j] 向右移动一位
j--
}
nums[j+1] = base // 2. 将 base 赋值到正确位置
}
}

View file

@ -0,0 +1,16 @@
//File: insertion_sort_test.go
//Created Time: 2022-12-12
//Author: msk397 (machangxinq@gmail.com)
package insertion_sort
import (
"fmt"
"testing"
)
func TestInsertionSort(t *testing.T) {
nums := []int{4, 1, 3, 1, 5, 2}
insertionSort(nums)
fmt.Println("插入排序完成后 nums = ", nums)
}

View file

@ -79,7 +79,20 @@ comments: true
=== "Go" === "Go"
```go title="insertion_sort.go" ```go title="insertion_sort.go"
/* 插入排序 */
func insertionSort(nums []int) {
// 外循环:待排序元素数量为 n-1, n-2, ..., 1
for i := 1; i < len(nums); i++ {
base := nums[i]
j := i - 1
// 内循环:将 base 插入到左边的正确位置
for j >= 0 && nums[j] > base {
nums[j+1] = nums[j] // 1. 将 nums[j] 向右移动一位
j--
}
nums[j+1] = base // 2. 将 base 赋值到正确位置
}
}
``` ```
=== "JavaScript" === "JavaScript"