希尔排序golang版本
2023-08-20
1分钟阅读时长
希尔排序golang版本
有点类似于插排,但是涉及到步长的运算,所以让整个理解变困难。
func ShellSort(nums []int){
n := len(nums)
for gap := n /2 ; gap >0;gap /= 2{
for i := 0;i<gap;i++{
for j := i+gap;j<n;j+=gap{
key := nums[j]
k := j - gap
if k >=0 && nums[k] > key{
nums[k+gap] = nums[k]
k -= gap
}
}
}
}
}