2-6 希尔排序
希尔排序,是对插入排序的一种改进,也叫缩小增量排序。外层循环是增量的缩小,内层循环即每一列可采用直接插入排序的方法,排序(其他也可)。
void shellsort(int array[],int len)
{
int i, index, key,temp;;
for(int step = len / 2; step > 0; step /= 2){
//每趟步长折半
for(index = step; index < len; index++){
// key = array[index];
for(i = index - step; i >= 0 && array[i] > array[i+step]; i -= step){
temp=array[i+step];
array[i + step] = array[i];
array[i]=temp;
}
// array[i + step] = key;
}
}
}