希尔排序:以一定的间隔拿取数据,根据这些数据,进行插入排序 ,然后间隔越来越小。
拿取间隔,例子: 5/2=2,以间隔为2
5和间隔的数值2比较,5>2,需要换位置
5和间隔的数值2比较,5<2,需要换位置,N指标到下一个,4间隔2的数字3作比较,4>3,换位置
4<3,换位置,N指标指向下一个,5间隔2的数字8作比较
5<8 不用替换位置,N指标指向下一个,下两个间隔没数字,拿取之前的间隔2/2=1作比较
第二次
N指标重新到第一位,间隔为1进行比较,2<3,不做替换
N指标重新到第一位,间隔为1的数字3进行比较,2<3,不做替换
N指标重新到第2位,间隔为1的数字3进行比较,3<5,不做替换
N指标重新到第3位,间隔为1的数字3进行比较,5>4,替换
5>4,替换,N指标重新到第4位,间隔为1的数字8进行比较,5<8,不做替换
当数组多的时候图