希尔排序
希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。
for(gap=n/2;gap>0;gap=gap/2){ //设置增量,每次都是gap/2,当然也可以是其他增量;
for(k=gap;k<10;k++){ //a[gap]为第一组的第二个元素
t=a[k]; //将要插入的数放入t中
j=k-gap; //要插入的数的前一个元素下标
while(j>=0&&t<a[j]){ //t若比前面位置上的数字小,前面数就要后移
a[j+gap]=a[j]; //后移
j=j-gap; //找到前面一个位置上的数
}
a[j+gap]=t; //t插入这个位置
}
}