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; } }