希尔排序
希尔排序是非稳定的排序算法。
什么是希尔排序?
希尔排序是插入排序的一种改进版本。又称递减增量排序
其原理在,扫描范围通过递减,一开始取中间左右的位置,然后逐渐靠向序列首部。逐次往后扫描,比较大小然后实现交替。
范围递减通过右位移减小扫描初始位置偏移,然后在范围内遍历自加来实现。
用C语言写的希尔排序
void shell_sort(int arr[],int len)
{
int i,j,gap; //gap用于取扫描范围,作递减操作,i,j为增量
int temp;//暂存空间
/*************************************************
* gap每次循环执行循环内部的语句,通过右位移实现缩小范围
**************************************************/
for(gap