Skip to content

Commit 2a32ba7

Browse files
committed
feat: replace insertion sort with shell sort
1 parent 1271ed5 commit 2a32ba7

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

sort.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@ package sortbench
22

33
func Sort(nums []int) {
44
n := len(nums)
5-
for i := 1; i < n; i++ {
6-
key := nums[i]
7-
j := i - 1
8-
for j >= 0 && nums[j] > key {
9-
nums[j+1] = nums[j]
10-
j--
5+
gap := n / 2
6+
for gap > 0 {
7+
for i := gap; i < n; i++ {
8+
key := nums[i]
9+
j := i
10+
for j >= gap && nums[j-gap] > key {
11+
nums[j] = nums[j-gap]
12+
j -= gap
13+
}
14+
nums[j] = key
1115
}
12-
nums[j+1] = key
16+
gap /= 2
1317
}
1418
}

0 commit comments

Comments
 (0)