封装成函数:
func ShellSort(a []int) { n := lena h 1 for< n/3 //寻找合适的间隔h=@H_301_80@3*h +}>=//将数组变为间隔h个元素有序 i h; i++//间隔h插入排序 j && a[j]-h];-= swap, j/=}func swapslice i j slicei],161)">]
测试:
输出:
[9 0 6 5 8 2 1 7 4 3] [0 1 2 3 4 5 6 7 8 9]