希尔排序——C语言,
希尔排序也是一种插入排序,
什么样的才是希尔排序呢?
我的理解就是王对王,将对将! 什么意思呢?废话不多说,图永远是最直白的东西!看图
第一次分成两小数组 也就是A[0]和A[0] A[1]和A[1] A[2]和A[2] A[3]和A[3]配对(这就是王对王,将对将!)接着掰掰手腕!比较大小然后交换
两个小数组各自又中分,现在变成四个小数组了。同理!A[0]和A[0] A[1]和A[1] 比较大小,然后交换
这回每个小数组又中分了!这回就不同了!一个小数组里面只有一个元素了,那接下来就很简单了,一样的,比较大小,交换
什么时候希尔完成呢?当for到每个小数组里面只有一个元素时,也就功德圆满羽化飞升了!
上代码!
如有错误;欢迎指正