最重要的是分组思想
希尔排序优点:
1.元素越少,排序效率越高
2.整个数组越接近有序,排序效率越高
int shell_sort(int *data, int length){
int gap = 0;//步长
int i = 0, j = 0;
for(gap = length / 2; gap >= 1; gap /= 2){//分组次数
for(i = gap; i < length; i++){每组遍历
int temp = data[i];
for(j = i - gap; j >= 0 && temp < data[j]; j -= gap){//组内排序,当为分组的倍数才
会进行判断是否进行排序
data[j + gap] = data[j];
}
data[j + gap] = temp;//交换位置
}
}
return 0;
}



