希尔排序
void ShellSort(int *a,int length){
int gap=length/2;
while(gap>=1){
//插入排序思想 gap替换1
for(int i=gap;i<length;i++){
int temp=a[i];
int j=i-gap;
while(j>=0&&a[j]>temp){
a[j+gap]=a[j];
j=j-gap;
}
a[j+gap]=temp;
}
gap/=2;
}
}

浙公网安备 33010602011771号