希尔排序突破了O(n2),它的时间复杂度是O(nlog2n)
分组再排序
public insertSort(int a[],int n){
int i,j,temp;
int gap=n;//间隔
do{
gap=gap/3+1;
for(int i=gap;i<n-1;i++){
if(a[i]<a[i-gap]){
temp=a[i];//作为哨兵
for(j=i-gap;k[j]>temp;j-=gap){
k[j+gap]=k[j];
}
k[j+gap]=temp;
}
}
}while(gap>1)
}