//递增排序
void asc_shell_sort(int arr[], int data_size)
{
int grap, i, j;
//注意grap是要大于0
for (grap = data_size>>1;grap>0;grap=grap>>1){
for (i=grap;i<data_size;++i){
if (arr[i]<arr[i-grap]){
int temp = arr[i];
for (j = i;j > 0 && arr[j-grap] >temp;j -= grap) {
arr[j] = arr[j - grap];
}
arr[j] = temp;
}
}
}
}